| import unittest |
| import unittest.mock |
| |
| import git |
| |
| from .mixins import CatchWarningsMixin |
| from centpkg import DistGitDirectory |
| from centpkg import git as centpkg_git |
| |
| |
| class TestDistGitNothing(unittest.TestCase): |
| def test_distgit_emptystring(self): |
| with self.assertRaises(TypeError): |
| d = DistGitDirectory() |
| |
| class TestDistGitInvalid(unittest.TestCase, CatchWarningsMixin): |
| def test_invalid_branchstring_raises(self): |
| self.branchstring = 'nope-not-a-branch' |
| |
| with self.assertWarns(UserWarning): |
| self.d = DistGitDirectory(self.branchstring) |
| |
| class TestDistgitOnlySig(unittest.TestCase): |
| def setUp(self): |
| self.branchstring = 'c7-sig-cloud' |
| self.d = DistGitDirectory(self.branchstring) |
| |
| def test_signame_gets_set(self): |
| self.assertEqual(self.d.signame, 'cloud') |
| |
| def test_centosversion_gets_set(self): |
| self.assertEqual(self.d.centosversion, '7') |
| |
| def test_projectname_gets_set(self): |
| self.assertEqual(self.d.projectname, None) |
| |
| def test_releasename_gets_set(self): |
| self.assertEqual(self.d.releasename, None) |
| |
| def test_target_gets_set(self): |
| self.assertEqual(self.d.target, 'cloud7-common-el7') |
| |
| class TestDistgitSigAndCommon(unittest.TestCase): |
| def setUp(self): |
| self.branchstring = 'c7-sig-cloud-common' |
| self.d = DistGitDirectory(self.branchstring) |
| |
| def test_signame_gets_set(self): |
| self.assertEqual(self.d.signame, 'cloud') |
| |
| def test_centosversion_gets_set(self): |
| self.assertEqual(self.d.centosversion, '7') |
| |
| def test_projectname_gets_set(self): |
| self.assertEqual(self.d.projectname, None) |
| |
| def test_releasename_gets_set(self): |
| self.assertEqual(self.d.releasename, None) |
| |
| def test_target_gets_set(self): |
| self.assertEqual(self.d.target, 'cloud7-common-el7') |
| |
| class TestDistgitSigAndProject(unittest.TestCase): |
| def setUp(self): |
| self.branchstring = 'c7-sig-cloud-openstack' |
| self.d = DistGitDirectory(self.branchstring) |
| |
| def test_signame_gets_set(self): |
| self.assertEqual(self.d.signame, 'cloud') |
| |
| def test_centosversion_gets_set(self): |
| self.assertEqual(self.d.centosversion, '7') |
| |
| def test_projectname_gets_set(self): |
| self.assertEqual(self.d.projectname, 'openstack') |
| |
| def test_releasename_gets_set(self): |
| self.assertEqual(self.d.releasename, None) |
| |
| def test_target_gets_set(self): |
| self.assertEqual(self.d.target, 'cloud7-openstack-common-el7') |
| |
| class TestDistgitSigProjectAndCommon(unittest.TestCase): |
| def setUp(self): |
| self.branchstring = 'c7-sig-cloud-openstack-common' |
| self.d = DistGitDirectory(self.branchstring) |
| |
| def test_signame_gets_set(self): |
| self.assertEqual(self.d.signame, 'cloud') |
| |
| def test_centosversion_gets_set(self): |
| self.assertEqual(self.d.centosversion, '7') |
| |
| def test_projectname_gets_set(self): |
| self.assertEqual(self.d.projectname, 'openstack') |
| |
| def test_releasename_gets_set(self): |
| self.assertEqual(self.d.releasename, None) |
| |
| def test_target_gets_set(self): |
| self.assertEqual(self.d.target, 'cloud7-openstack-common-el7') |
| |
| class TestDistgitSigProjectAndRelease(unittest.TestCase): |
| def setUp(self): |
| self.branchstring = 'c7-sig-cloud-openstack-kilo' |
| self.d = DistGitDirectory(self.branchstring) |
| |
| def test_signame_gets_set(self): |
| self.assertEqual(self.d.signame, 'cloud') |
| |
| def test_centosversion_gets_set(self): |
| self.assertEqual(self.d.centosversion, '7') |
| |
| def test_projectname_gets_set(self): |
| self.assertEqual(self.d.projectname, 'openstack') |
| |
| def test_releasename_gets_set(self): |
| self.assertEqual(self.d.releasename, 'kilo') |
| |
| def test_target_gets_set(self): |
| self.assertEqual(self.d.target, 'cloud7-openstack-kilo-el7') |
| |
| class TestDistgitC7DistroBranch(unittest.TestCase): |
| def setUp(self): |
| self.branchstring = 'c7' |
| self.d = DistGitDirectory(self.branchstring) |
| |
| def test_signame_gets_set(self): |
| self.assertEqual(self.d.signame, 'centos') |
| |
| def test_centosversion_gets_set(self): |
| self.assertEqual(self.d.centosversion, '7') |
| |
| def test_projectname_gets_set(self): |
| self.assertEqual(self.d.projectname, None) |
| |
| def test_releasename_gets_set(self): |
| self.assertEqual(self.d.releasename, None) |
| |
| def test_target_gets_set(self): |
| self.assertEqual(self.d.target, 'c7') |
| |
| class TestDistgitStream9Module(unittest.TestCase): |
| def setUp(self): |
| self.branchstring = '3.0-rhel-9.0.0-beta' |
| self.d = DistGitDirectory(self.branchstring) |
| |
| def test_signame_gets_set(self): |
| self.assertEqual(self.d.signame, 'centos') |
| |
| def test_centosversion_gets_set(self): |
| self.assertEqual(self.d.centosversion, '9') |
| |
| def test_projectname_gets_set(self): |
| self.assertEqual(self.d.projectname, None) |
| |
| def test_releasename_gets_set(self): |
| self.assertEqual(self.d.releasename, None) |
| |
| def test_target_gets_set(self): |
| self.assertEqual(self.d.target, 'c9s-candidate') |
| |
| class TestDistgitStream9ModuleComponent(unittest.TestCase): |
| def setUp(self): |
| self.branchstring = 'stream-container-tools-3.0-rhel-9.0.0-beta' |
| self.d = DistGitDirectory(self.branchstring) |
| |
| def test_signame_gets_set(self): |
| self.assertEqual(self.d.signame, 'centos') |
| |
| def test_centosversion_gets_set(self): |
| self.assertEqual(self.d.centosversion, '9') |
| |
| def test_projectname_gets_set(self): |
| self.assertEqual(self.d.projectname, None) |
| |
| def test_releasename_gets_set(self): |
| self.assertEqual(self.d.releasename, None) |
| |
| def test_target_gets_set(self): |
| self.assertEqual(self.d.target, 'c9s-candidate') |
| |
| class TestDistgitC6DistroBranch(unittest.TestCase): |
| def setUp(self): |
| self.branchstring = 'c6' |
| self.d = DistGitDirectory(self.branchstring) |
| |
| def test_signame_gets_set(self): |
| self.assertEqual(self.d.signame, 'centos') |
| |
| def test_centosversion_gets_set(self): |
| self.assertEqual(self.d.centosversion, '6') |
| |
| def test_projectname_gets_set(self): |
| self.assertEqual(self.d.projectname, None) |
| |
| def test_releasename_gets_set(self): |
| self.assertEqual(self.d.releasename, None) |
| |
| def test_target_gets_set(self): |
| self.assertEqual(self.d.target, 'c6') |
| |
| class TestDistgitC6PlusDistroBranch(unittest.TestCase): |
| def setUp(self): |
| self.branchstring = 'c6-plus' |
| self.d = DistGitDirectory(self.branchstring) |
| |
| def test_signame_gets_set(self): |
| self.assertEqual(self.d.signame, 'centos') |
| |
| def test_centosversion_gets_set(self): |
| self.assertEqual(self.d.centosversion, '6') |
| |
| def test_projectname_gets_set(self): |
| self.assertEqual(self.d.projectname, 'plus') |
| |
| def test_releasename_gets_set(self): |
| self.assertEqual(self.d.releasename, None) |
| |
| def test_target_gets_set(self): |
| self.assertEqual(self.d.target, 'c6-plus') |
| |
| class TestOldGitBranch(unittest.TestCase, CatchWarningsMixin): |
| def test_old_branch_warns(self): |
| with self.assertWarns(DeprecationWarning): |
| branchstring = 'virt7' |
| d = DistGitDirectory(branchstring) |
| |
| class TestIsFork(unittest.TestCase): |
| def setUp(self): |
| self.branchstring = 'c9s' |
| |
| def test_none(self): |
| d = DistGitDirectory(self.branchstring) |
| self.assertFalse(d.is_fork()) |
| |
| @unittest.mock.patch.object(centpkg_git.repo.Repo, 'remotes', new=dict(origin=type('Remote', (object,), {'urls': ['ssh://git@git.centos.org/forks/lrossett/centos/centpkg.git']}))) |
| @unittest.mock.patch.object(centpkg_git.repo.Repo, '__init__', new=lambda s, p: None) |
| def test_fork_url(self): |
| d = DistGitDirectory(self.branchstring, 'binutils') |
| self.assertTrue(d.is_fork()) |
| |
| @unittest.mock.patch.object(centpkg_git.repo.Repo, 'remotes', new=dict(origin=type('Remote', (object,), {'urls': ['git+ssh://git@gitlab.com/redhat/centos-stream/rpms/binutils.git']}))) |
| @unittest.mock.patch.object(centpkg_git.repo.Repo, '__init__', new=lambda s, p: None) |
| def test_upstream_url(self): |
| d = DistGitDirectory(self.branchstring, 'binutils') |
| self.assertFalse(d.is_fork()) |