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