• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /macosx-10.10.1/pyobjc-45/2.6/pyobjc/pyobjc-framework-SystemConfiguration/PyObjCTest/
1from PyObjCTools.TestSupport import *
2from SystemConfiguration import *
3
4class TestSCNetworkConnection (TestCase):
5    def testTypes(self):
6        self.assertIsInstance(SCNetworkConnectionRef, objc.objc_class)
7
8    def testConstants(self):
9        self.assertEqual(kSCNetworkConnectionInvalid,  -1)
10        self.assertEqual(kSCNetworkConnectionDisconnected,  0)
11        self.assertEqual(kSCNetworkConnectionConnecting,  1)
12        self.assertEqual(kSCNetworkConnectionConnected,  2)
13        self.assertEqual(kSCNetworkConnectionDisconnecting,  3)
14
15        self.assertEqual(kSCNetworkConnectionPPPDisconnected,  0)
16        self.assertEqual(kSCNetworkConnectionPPPInitializing,  1)
17        self.assertEqual(kSCNetworkConnectionPPPConnectingLink,  2)
18        self.assertEqual(kSCNetworkConnectionPPPDialOnTraffic,  3)
19        self.assertEqual(kSCNetworkConnectionPPPNegotiatingLink,  4)
20        self.assertEqual(kSCNetworkConnectionPPPAuthenticating,  5)
21        self.assertEqual(kSCNetworkConnectionPPPWaitingForCallBack,  6)
22        self.assertEqual(kSCNetworkConnectionPPPNegotiatingNetwork,  7)
23        self.assertEqual(kSCNetworkConnectionPPPConnected,  8)
24        self.assertEqual(kSCNetworkConnectionPPPTerminating,  9)
25        self.assertEqual(kSCNetworkConnectionPPPDisconnectingLink,  10)
26        self.assertEqual(kSCNetworkConnectionPPPHoldingLinkOff,  11)
27        self.assertEqual(kSCNetworkConnectionPPPSuspended,  12)
28        self.assertEqual(kSCNetworkConnectionPPPWaitingForRedial,  13)
29
30        self.assertEqual(kSCNetworkConnectionBytesIn, u"BytesIn")
31        self.assertEqual(kSCNetworkConnectionBytesOut, u"BytesOut")
32        self.assertEqual(kSCNetworkConnectionPacketsIn, u"PacketsIn")
33        self.assertEqual(kSCNetworkConnectionPacketsOut, u"PacketsOut")
34        self.assertEqual(kSCNetworkConnectionErrorsIn, u"ErrorsIn")
35        self.assertEqual(kSCNetworkConnectionErrorsOut, u"ErrorsOut")
36
37    def testFunctions(self):
38        v = SCNetworkConnectionGetTypeID()
39        self.assertIsInstance(v, (int, long))
40
41        self.assertResultIsBOOL(SCNetworkConnectionCopyUserPreferences)
42        self.assertArgIsOut(SCNetworkConnectionCopyUserPreferences, 1)
43        self.assertArgIsOut(SCNetworkConnectionCopyUserPreferences, 2)
44        v,  servId, userOpts = SCNetworkConnectionCopyUserPreferences(None, None, None)
45        if v:
46            self.assertIsInstance(servId, unicode)
47            self.assertIsInstance(userOpts, CFDictionaryRef)
48        else:
49            self.assertTrue(servId is None)
50            self.assertTrue(userOpts is None)
51
52        def callout(ref, status, info):
53            pass
54        ctx = object()
55        v = SCNetworkConnectionCreateWithServiceID(None, "pyobjc.test.id", callout, ctx)
56
57        self.assertResultIsCFRetained(SCNetworkConnectionCopyServiceID)
58
59        # FIXME: Need test for this
60        SCNetworkConnectionGetStatus
61
62        self.assertResultIsCFRetained(SCNetworkConnectionCopyExtendedStatus)
63        self.assertResultIsCFRetained(SCNetworkConnectionCopyStatistics)
64        self.assertResultIsBOOL(SCNetworkConnectionStart)
65        self.assertResultIsBOOL(SCNetworkConnectionStop)
66        self.assertResultIsCFRetained(SCNetworkConnectionCopyUserOptions)
67        self.assertResultIsBOOL(SCNetworkConnectionScheduleWithRunLoop)
68        self.assertResultIsBOOL(SCNetworkConnectionUnscheduleFromRunLoop)
69
70
71if __name__ == "__main__":
72    main()
73