[util] Add test for getting list of buildroot RPMs
Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com>
This commit is contained in:
		
							parent
							
								
									d13f655300
								
							
						
					
					
						commit
						75d71ebbe1
					
				| @ -222,5 +222,143 @@ class TestHelpers(PungiTestCase): | |||||||
|             self.fail('makedirs raised exception on existing directory') |             self.fail('makedirs raised exception on existing directory') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | RPM_QA_QF_OUTPUT = """ | ||||||
|  | cjkuni-uming-fonts-0.2.20080216.1-56.fc23.noarch | ||||||
|  | libmount-2.28-1.fc23.x86_64 | ||||||
|  | ed-1.10-5.fc23.x86_64 | ||||||
|  | kbd-2.0.2-8.fc23.x86_64 | ||||||
|  | coreutils-8.24-6.fc23.x86_64 | ||||||
|  | """ | ||||||
|  | 
 | ||||||
|  | BUILDROOT_LIST = [ | ||||||
|  |     {'arch': 'x86_64', | ||||||
|  |      'br_type': 0, | ||||||
|  |      'cg_id': None, | ||||||
|  |      'cg_name': None, | ||||||
|  |      'cg_version': None, | ||||||
|  |      'container_arch': 'x86_64', | ||||||
|  |      'container_type': 'chroot', | ||||||
|  |      'create_event_id': 15862222, | ||||||
|  |      'create_event_time': '2016-04-28 02:37:00.949772', | ||||||
|  |      'create_ts': 1461811020.94977, | ||||||
|  |      'extra': None, | ||||||
|  |      'host_arch': None, | ||||||
|  |      'host_id': 99, | ||||||
|  |      'host_name': 'buildhw-01.phx2.fedoraproject.org', | ||||||
|  |      'host_os': None, | ||||||
|  |      'id': 5458481, | ||||||
|  |      'repo_create_event_id': 15861452, | ||||||
|  |      'repo_create_event_time': '2016-04-28 00:02:40.639317', | ||||||
|  |      'repo_id': 599173, | ||||||
|  |      'repo_state': 1, | ||||||
|  |      'retire_event_id': 15862276, | ||||||
|  |      'retire_event_time': '2016-04-28 02:58:07.109387', | ||||||
|  |      'retire_ts': 1461812287.10939, | ||||||
|  |      'state': 3, | ||||||
|  |      'tag_id': 315, | ||||||
|  |      'tag_name': 'f24-build', | ||||||
|  |      'task_id': 13831904} | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | RPM_LIST = [ | ||||||
|  |     {'arch': 'noarch', | ||||||
|  |      'build_id': 756072, | ||||||
|  |      'buildroot_id': 5398084, | ||||||
|  |      'buildtime': 1461100903, | ||||||
|  |      'component_buildroot_id': 5458481, | ||||||
|  |      'epoch': None, | ||||||
|  |      'external_repo_id': 0, | ||||||
|  |      'external_repo_name': 'INTERNAL', | ||||||
|  |      'extra': None, | ||||||
|  |      'id': 7614370, | ||||||
|  |      'is_update': True, | ||||||
|  |      'metadata_only': False, | ||||||
|  |      'name': 'python3-kickstart', | ||||||
|  |      'nvr': 'python3-kickstart-2.25-2.fc24', | ||||||
|  |      'payloadhash': '403723502d27e43955036d2dcd1b09e0', | ||||||
|  |      'release': '2.fc24', | ||||||
|  |      'size': 366038, | ||||||
|  |      'version': '2.25'}, | ||||||
|  |     {'arch': 'x86_64', | ||||||
|  |      'build_id': 756276, | ||||||
|  |      'buildroot_id': 5405310, | ||||||
|  |      'buildtime': 1461165155, | ||||||
|  |      'component_buildroot_id': 5458481, | ||||||
|  |      'epoch': None, | ||||||
|  |      'external_repo_id': 0, | ||||||
|  |      'external_repo_name': 'INTERNAL', | ||||||
|  |      'extra': None, | ||||||
|  |      'id': 7615629, | ||||||
|  |      'is_update': False, | ||||||
|  |      'metadata_only': False, | ||||||
|  |      'name': 'binutils', | ||||||
|  |      'nvr': 'binutils-2.26-18.fc24', | ||||||
|  |      'payloadhash': '8ef08c8a64c52787d3559424e5f51d9d', | ||||||
|  |      'release': '18.fc24', | ||||||
|  |      'size': 6172094, | ||||||
|  |      'version': '2.26'}, | ||||||
|  |     {'arch': 'x86_64', | ||||||
|  |      'build_id': 756616, | ||||||
|  |      'buildroot_id': 5412029, | ||||||
|  |      'buildtime': 1461252071, | ||||||
|  |      'component_buildroot_id': 5458481, | ||||||
|  |      'epoch': None, | ||||||
|  |      'external_repo_id': 0, | ||||||
|  |      'external_repo_name': 'INTERNAL', | ||||||
|  |      'extra': None, | ||||||
|  |      'id': 7619636, | ||||||
|  |      'is_update': False, | ||||||
|  |      'metadata_only': False, | ||||||
|  |      'name': 'kernel-headers', | ||||||
|  |      'nvr': 'kernel-headers-4.5.2-301.fc24', | ||||||
|  |      'payloadhash': '11c6d70580c8f0c202c28bc6b0fa98cc', | ||||||
|  |      'release': '301.fc24', | ||||||
|  |      'size': 1060138, | ||||||
|  |      'version': '4.5.2'} | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class TestGetBuildrootRPMs(unittest.TestCase): | ||||||
|  | 
 | ||||||
|  |     @mock.patch('koji.ClientSession') | ||||||
|  |     def test_get_from_koji(self, ClientSession): | ||||||
|  |         compose = mock.Mock(conf={ | ||||||
|  |             'pkgset_koji_url': 'http://example.com/koji' | ||||||
|  |         }) | ||||||
|  | 
 | ||||||
|  |         ClientSession.return_value.listBuildroots.return_value = BUILDROOT_LIST | ||||||
|  |         ClientSession.return_value.listRPMs.return_value = RPM_LIST | ||||||
|  | 
 | ||||||
|  |         rpms = util.get_buildroot_rpms(compose, 1234) | ||||||
|  | 
 | ||||||
|  |         self.assertEqual(ClientSession.call_args_list, | ||||||
|  |                          [mock.call('http://example.com/koji')]) | ||||||
|  |         self.assertEqual(ClientSession.return_value.mock_calls, | ||||||
|  |                          [mock.call.listBuildroots(taskID=1234), | ||||||
|  |                           mock.call.listRPMs(componentBuildrootID=5458481)]) | ||||||
|  | 
 | ||||||
|  |         self.assertItemsEqual(rpms, [ | ||||||
|  |             'python3-kickstart-2.25-2.fc24.noarch', | ||||||
|  |             'binutils-2.26-18.fc24.x86_64', | ||||||
|  |             'kernel-headers-4.5.2-301.fc24.x86_64' | ||||||
|  |         ]) | ||||||
|  | 
 | ||||||
|  |     @mock.patch('pungi.util.run') | ||||||
|  |     def test_get_local(self, mock_run): | ||||||
|  |         compose = mock.Mock() | ||||||
|  | 
 | ||||||
|  |         mock_run.return_value = (0, RPM_QA_QF_OUTPUT) | ||||||
|  | 
 | ||||||
|  |         rpms = util.get_buildroot_rpms(compose, None) | ||||||
|  | 
 | ||||||
|  |         self.assertItemsEqual(rpms, [ | ||||||
|  |             'cjkuni-uming-fonts-0.2.20080216.1-56.fc23.noarch', | ||||||
|  |             'libmount-2.28-1.fc23.x86_64', | ||||||
|  |             'ed-1.10-5.fc23.x86_64', | ||||||
|  |             'kbd-2.0.2-8.fc23.x86_64', | ||||||
|  |             'coreutils-8.24-6.fc23.x86_64', | ||||||
|  |         ]) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| if __name__ == "__main__": | if __name__ == "__main__": | ||||||
|     unittest.main() |     unittest.main() | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user