It is not a separate package since Python 3.3 Signed-off-by: Lubomír Sedlář <lsedlar@redhat.com> (cherry picked from commit 3987688de6720d951bfeb0b49c364df9738b490b)
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # -*- coding: utf-8 -*-
 | |
| 
 | |
| from unittest import mock
 | |
| import os
 | |
| 
 | |
| from tests import helpers
 | |
| from pungi.ostree import utils
 | |
| 
 | |
| 
 | |
| class GetRefFromTreefileTest(helpers.PungiTestCase):
 | |
|     def setUp(self):
 | |
|         super(GetRefFromTreefileTest, self).setUp()
 | |
|         self.json = os.path.join(self.topdir, "treefile.json")
 | |
|         self.yaml = os.path.join(self.topdir, "treefile.yaml")
 | |
| 
 | |
|     def test_reads_json(self):
 | |
|         helpers.touch(self.json, """{"ref": "master"}""")
 | |
|         self.assertEqual(utils.get_ref_from_treefile(self.json), "master")
 | |
| 
 | |
|     def test_reads_yaml(self):
 | |
|         helpers.touch(self.yaml, """ref: master""")
 | |
|         self.assertEqual(utils.get_ref_from_treefile(self.yaml), "master")
 | |
| 
 | |
|     @mock.patch("pungi.ostree.utils.getBaseArch")
 | |
|     def test_replaces_basearch(self, getBaseArch):
 | |
|         getBaseArch.return_value = "x86_64"
 | |
|         helpers.touch(self.json, """{"ref": "${basearch}/master"}""")
 | |
|         self.assertEqual(utils.get_ref_from_treefile(self.json), "x86_64/master")
 | |
| 
 | |
|     @mock.patch("pungi.ostree.utils.getBaseArch")
 | |
|     def test_replaces_basearch_for_given_arch(self, getBaseArch):
 | |
|         getBaseArch.return_value = "x86_64"
 | |
|         helpers.touch(self.json, """{"ref": "${basearch}/master"}""")
 | |
|         self.assertEqual(
 | |
|             utils.get_ref_from_treefile(self.json, arch="foo"), "x86_64/master"
 | |
|         )
 | |
|         self.assertEqual(getBaseArch.call_args_list, [mock.call("foo")])
 | |
| 
 | |
|     def test_handles_invalid_json(self):
 | |
|         helpers.touch(self.json, """{"ref" "master"}""")
 | |
|         self.assertIsNone(utils.get_ref_from_treefile(self.json))
 | |
| 
 | |
|     def test_handles_invalid_yaml(self):
 | |
|         helpers.touch(self.yaml, """{ ref\n - master""")
 | |
|         self.assertIsNone(utils.get_ref_from_treefile(self.yaml))
 | |
| 
 | |
|     def test_handles_missing_file(self):
 | |
|         self.assertIsNone(utils.get_ref_from_treefile(self.json))
 |