tests/config.py
branchdevel
changeset 188 4d6130d91e56
parent 187 352527f2b6ca
child 220 602720314930
--- a/tests/config.py	Sat Feb 25 16:22:21 2012 +0100
+++ b/tests/config.py	Sun Feb 26 17:48:28 2012 +0100
@@ -6,7 +6,7 @@
 from  iro import config, error 
 from iro.offer.provider import Provider, providers
 
-class TestConfig(unittest.TestCase):
+class TestModuleConfig(unittest.TestCase):
     '''test config class'''
     
     def setUp(self):
@@ -19,7 +19,7 @@
     @patch('iro.config.main')
     @patch('iro.config.configParser')
     def testReadConfig(self,pConfig,pMain):
-        pMain.read = False
+        pMain._init = True
         config.readConfig()
         self.assertEqual([i[0] for i in pConfig.method_calls],["read","reload","items"])
         pConfig.read.assert_called_once_with(config.confFiles)
@@ -27,6 +27,22 @@
         pConfig.reload.assert_called_once_with()
         self.assertEqual(pMain.load.called,1)
 
+    @patch('iro.config.main')
+    @patch('iro.config.configParser')
+    def testReadConfigInit(self,pConfig,pMain):
+        pConfig.items.return_value = [('dburl',''),("port",1000)]
+        pMain._init = False
+        config.readConfig()
+        self.assertEqual([i[0] for i in pConfig.method_calls],["read","reload","items"])
+        self.assertEqual([i[0] for i in pMain.method_calls],["same"])
+        sa = pMain.same.call_args_list[0][0][0]
+        self.assertEqual(sa.port,1000)
+        self.assertEqual(sa.dburl,'')
+        pMain.same.return_value = False
+        self.assertRaises(Exception,config.readConfig,)
+
+
+
     @patch('signal.signal')
     @patch('iro.config.readConfig')
     def testRegisterSignal(self, pReadConfig, pSignal):
@@ -85,7 +101,7 @@
     @patch('iro.config.ConfigParser.read')
     def testMust(self,pRead):
         v=Mock()
-        config.main.options["test"] = config.Option(v)
+        config.main.options["test"] = config.Option(v,default="jehei")
         try:
             sample_config = """[main]
 dburl = sdfawersdf
@@ -94,6 +110,8 @@
             config.configParser.readfp(io.BytesIO(sample_config))
             config.configParser.read([])
             self.assertEqual(v.called,0)
+            config.main.load(config.configParser.items("main"))
+            self.assertEqual(config.main.test,'jehei')
             sample_config = """[main]
 dburl = adfgsdftsfg
 port = 8000
@@ -128,3 +146,23 @@
             v.assert_called_once_with("foo","test")
         finally:
             del(providers["test"])
+
+
+class TestConfig(unittest.TestCase):
+    def testSame(self):
+        c1 = config.Config("1")
+        c1.port = 1
+        c1.dburl = "dburl1"
+        c2 = config.Config("2")
+        c2.port = 1
+        c2.dburl = "dburl1"
+        self.assertTrue(c1.same(c2))
+        self.assertTrue(c1.same(c1))
+        self.assertTrue(c2.same(c1))
+        c2.port = 2
+        self.assertFalse(c2.same(c1))
+        self.assertFalse(c1.same(c2))
+        c2.port = 1
+        c2.dburl = "dburl2"
+        self.assertFalse(c2.same(c1))
+        self.assertFalse(c1.same(c2))