#!/usr/bin/python import mock import sys import __builtin__ import ConfigParser class ProductTest(mock.TestCase): def setUp(self): self.setupModules(['_isys', 'block', 'os']) self.fs = mock.DiskIO() # os module global mock self.modifiedModule("os") os = sys.modules['os'] os.access = mock.Mock(return_value=False) os.uname.return_value = ('', '', '', '', 'i386') os.environ = {} # fake /tmp/product/.buildstamp file self.BUGURL = 'http://bug.url' self.FINAL = 'false' self.ARCH = 'i386' self.NAME = '__anaconda' self.UUID = '123456.%s' % self.ARCH self.VERSION = '14' self.FILENAME = '/tmp/product/.buildstamp' self.FILE = \ "[Main]\n"\ "BugURL: %s\n"\ "IsFinal: %s\n"\ "Arch: %s\n"\ "Product: %s\n"\ "UUID: %s\n"\ "Version: %s\n" % \ (self.BUGURL, self.FINAL, self.ARCH, self.NAME, self.UUID, self.VERSION) self.fs.open(self.FILENAME, 'w').write(self.FILE) # mock builtin open function self.open = __builtin__.open __builtin__.open = self.fs.open if 'pyanaconda.product' in sys.modules: del(sys.modules["pyanaconda.product"]) def tearDown(self): __builtin__.open = self.open self.tearDownModules() def bug_url_test(self): sys.modules['os'].access = mock.Mock(return_value=True) import pyanaconda.product self.assertEqual(pyanaconda.product.bugUrl, self.BUGURL) def is_final_test(self): sys.modules['os'].access = mock.Mock(return_value=True) import pyanaconda.product self.assertFalse(pyanaconda.product.isFinal) def product_arch_test(self): sys.modules['os'].access = mock.Mock(return_value=True) import pyanaconda.product self.assertEqual(pyanaconda.product.productArch, self.ARCH) def product_name_test(self): sys.modules['os'].access = mock.Mock(return_value=True) import pyanaconda.product self.assertEqual(pyanaconda.product.productName, self.NAME) def product_stamp_test(self): sys.modules['os'].access = mock.Mock(return_value=True) import pyanaconda.product self.assertEqual(pyanaconda.product.productStamp, self.UUID) def product_version_test(self): sys.modules['os'].access = mock.Mock(return_value=True) import pyanaconda.product self.assertEqual(pyanaconda.product.productVersion, self.VERSION)