unit test: check get_header_fields() with large size

This commit is contained in:
Mike McLean 2017-08-08 12:12:59 -04:00
parent 6930880480
commit 778d466387

View file

@ -113,6 +113,19 @@ class INITTestCase(unittest.TestCase):
koji.check_NVRA, value, strict=True)
class FakeHeader(object):
def __init__(self, **kwargs):
self.data = {}
for key in kwargs:
kname = "RPMTAG_%s" % key.upper()
hkey = getattr(rpm, kname)
self.data[hkey] = kwargs[key]
def __getitem__(self, key):
return self.data[key]
class HeaderTestCase(unittest.TestCase):
rpm_path = os.path.join(os.path.dirname(__file__), 'data/rpms/test-deps-1-1.fc24.x86_64.rpm')
rpmdir = os.path.join(os.path.dirname(__file__), 'data/rpms')
@ -143,6 +156,11 @@ class HeaderTestCase(unittest.TestCase):
hdr = koji.get_rpm_header(self.rpm_path)
self.assertEqual(['REQUIRES'], list(koji.get_header_fields(hdr, ['REQUIRES']).keys()))
def test_get_header_fields_largefile(self):
size = 4294967295
hdr = FakeHeader(longsize=size,size=None)
self.assertEqual({'SIZE': size}, koji.get_header_fields(hdr, ['SIZE']))
def test_get_header_field_src(self):
srpm = os.path.join(self.rpmdir, 'test-src-1-1.fc24.src.rpm')