1from PyObjCTools.TestSupport import *
2
3from SystemConfiguration import *
4import os
5
6class TestSCDynamicStoreCopyDHCPInfo (TestCase):
7    def testFunctions(self):
8        def callback(st, keys, info):
9            pass
10
11        st = SCDynamicStoreCreate(None, "pyobjc.test", callback, None)
12        self.assertTrue(isinstance(st, SCDynamicStoreRef))
13
14        have_ip = False
15        ip = os.popen("ifconfig en0 | grep inet", "r").read()
16        if ip.strip():
17            have_ip = True
18        else:
19            ip = os.popen("ifconfig en1 | grep inet", "r").read()
20            if ip.strip():
21                have_ip = True
22
23        info = SCDynamicStoreCopyDHCPInfo(st, None)
24        if not have_ip:
25            self.assertIs(info, None)
26        else:
27            self.assertIsInstance(info, CFDictionaryRef)
28
29            r = DHCPInfoGetOptionData(info,  1)
30            self.assertTrue(r is None or isinstance(r, CFDataRef))
31
32            r = DHCPInfoGetLeaseStartTime(info)
33            self.assertTrue(r is None or isinstance(r, CFDateRef))
34
35if __name__ == "__main__":
36    main()
37