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