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