Example #1
0
 def test_nCreateSessionProcedureSuccess(self):
     mmeCreateSessionHandler = MmeCreateSessionHandler((localhost(), 9000), self.mmeIoService, 0.5, 3, self.__mmeCreateSessionCompleteCallback__)
     self.mmeIoService.addIncomingMessageCallback(mmeCreateSessionHandler.handleIncomingMessage)        
     sgwPgwBearerResourceHandler = SgwPgwBearerResourceHandler(localhost(), localhost())
     sgwPgwCreateSessionHandler = SgwPgwCreateSessionHandler((localhost(), 9001), localhost(), self.sgwPgwIoService, 
                                                       sgwPgwBearerResourceHandler, self.__sgwPgwCreateSessionCompleteCallback__)
     self.sgwPgwIoService.addIncomingMessageCallback(sgwPgwCreateSessionHandler.handleCreateSessionRequestMessage)
     imsiArray = []
     for i in range(100):
         imsi = "2867" + str(i)
         imsiArray.append(imsi)
         createSessionRequestMessage = \
             {"imsi": imsi,
              "senderFteidForControlPlane": {"interfaceType": "ipv4", "teid": i, "address": localhost()},
              "pgwS5S8AddressForContolPlane": {"interfaceType": "ipv4", "teid": 0, 
                                               "address": localhost()}, 
              "pdnAddressAllocation": {"pdnType": "ipv4", "pdnAddressAndPrefix": "0.0.0.0"},
              "bearerContextsToBeCreated": [{"epsBearerId": 0, 
                                            "bearerLevelQos": None}]
             }
         mmeCreateSessionHandler.execute(imsi, createSessionRequestMessage)
         time.sleep(0.1)
     time.sleep(1.0)
     self.assertEqual(self.mmeSuccessCount, 100)
     self.assertEqual(set(sgwPgwCreateSessionHandler.establishedS11SessionContexts), set(imsiArray))
     mmeTeidsForControlPlane = []
     for i in range(100):
         imsi = "2867" + str(i)
         mmeTeidsForControlPlane.append(sgwPgwCreateSessionHandler.establishedS11SessionContexts[imsi]["mmeFteidForControlPlane"]["teid"])
     self.assertEqual(set(mmeTeidsForControlPlane), set(range(100)))
Example #2
0
 def test_DuplicateCreateSessionRequestProcedureSuccess(self):
     mmeCreateSessionHandler = MmeCreateSessionHandler((localhost(), 9000), self.mmeIoService, 0.5, 3, self.__mmeCreateSessionCompleteCallback__)
     self.mmeIoService.addIncomingMessageCallback(mmeCreateSessionHandler.handleIncomingMessage)        
     sgwPgwBearerResourceHandler = SgwPgwBearerResourceHandler(localhost(), localhost())
     sgwPgwCreateSessionHandler = SgwPgwCreateSessionHandler((localhost(), 9001), localhost(), self.sgwPgwIoService, 
                                                       sgwPgwBearerResourceHandler, self.__sgwPgwCreateSessionCompleteCallback__)
     self.sgwPgwIoService.addIncomingMessageCallback(sgwPgwCreateSessionHandler.handleCreateSessionRequestMessage)
     imsi = "35353"
     createSessionRequestMessage = \
         {"imsi": imsi,
          "senderFteidForControlPlane": {"interfaceType": "ipv4", "teid": 45, "address": localhost()},
          "pgwS5S8AddressForContolPlane": {"interfaceType": "ipv4", "teid": 0, 
                                           "address": localhost()}, 
          "pdnAddressAllocation": {"pdnType": "ipv4", "pdnAddressAndPrefix": "0.0.0.0"},
          "bearerContextsToBeCreated": [{"epsBearerId": 0, 
                                        "bearerLevelQos": None}]
         }
     mmeCreateSessionHandler.execute(imsi, createSessionRequestMessage)
     time.sleep(1.0)
     self.assertEqual(self.mmeResult, MmeCreateSessionHandler.Success)
     self.assertEqual(self.sgwPgwResult, SgwPgwCreateSessionHandler.Success)
     mmeCreateSessionHandler.execute(imsi, createSessionRequestMessage)  # send duplicate message but with a new sequence number
     time.sleep(1.0)
     self.assertEqual(self.mmeResult, MmeCreateSessionHandler.Success)
     self.assertEqual(self.sgwPgwResult, SgwPgwCreateSessionHandler.Success)
Example #3
0
 def test_nNoCreateSessionResponseReceived(self):
     self.mmeResult = None
     mmeCreateSessionHandler = MmeCreateSessionHandler((localhost(), 9002), self.mmeIoService, 0.5, 3, self.__mmeCreateSessionCompleteCallback__)
     self.mmeIoService.addIncomingMessageCallback(mmeCreateSessionHandler.handleIncomingMessage)
     for i in range(100):
         imsi = "2867" + str(i)
         createSessionRequestMessage = \
             {"imsi": imsi,
              "senderFteidForControlPlane": {"interfaceType": "ipv4", "teid": i, "address": localhost()},
              "pgwS5S8AddressForContolPlane": {"interfaceType": "ipv4", "teid": 0, 
                                               "address": localhost()}, 
              "pdnAddressAllocation": {"pdnType": "ipv4", "pdnAddressAndPrefix": "0.0.0.0"},
              "bearerContextsToBeCreated": [{"epsBearerId": 0, 
                                            "s1uEnbFteid": {"interfaceType": "ipv4", "teid": 45, "address": localhost()}, 
                                            "bearerLevelQos": None}]
             }
         mmeCreateSessionHandler.execute(imsi, createSessionRequestMessage)
     time.sleep(0.5*3 + 0.5)
     self.assertEqual(self.mmeFailureCount, 100)