Ejemplo n.º 1
0
  def test_success(self, mock_getMQParamsFromCS, mock_createMQConnector, mock_reconnect):
    result = createProducer(mqURI='mardirac3.in2p3.fr::Queue::test1')
    self.assertTrue(result['OK'])
    producer = result['Value']
    result = producer.put('blabla')
    self.assertTrue(result['OK'])
    result = producer.put('blabla')
    self.assertTrue(result['OK'])
    result = producer.close()
    self.assertTrue(result['OK'])
    self.assertFalse(Test_MQProducers.reconnectWasCalled)
    result = producer.close()
    self.assertFalse(Test_MQProducers.reconnectWasCalled)
    for _ in range(20):
      result = createProducer(mqURI='mardirac3.in2p3.fr::Queue::test1')
      self.assertTrue(result['OK'])
      producer = result['Value']
      result = producer.put('blabla')
      self.assertTrue(result['OK'])
      result = producer.put('blabla')
      self.assertTrue(result['OK'])
      result = producer.close()
      self.assertTrue(result['OK'])

    self.assertFalse(Test_MQProducers.reconnectWasCalled)
    time.sleep(3)
    self.assertFalse(Test_MQProducers.reconnectWasCalled)
Ejemplo n.º 2
0
  def test_success(self, mock_getMQParamsFromCS, mock_createMQConnector, mock_reconnect):
    result = createProducer(mqURI='mardirac3.in2p3.fr::Queue::test1')
    self.assertTrue(result['OK'])
    producer = result['Value']
    result = producer.put('blabla')
    self.assertTrue(result['OK'])
    result = producer.put('blabla')
    self.assertTrue(result['OK'])
    result = producer.close()
    self.assertTrue(result['OK'])
    self.assertFalse(Test_MQProducers.reconnectWasCalled)
    result = producer.close()
    self.assertFalse(Test_MQProducers.reconnectWasCalled)
    for _ in xrange(20):
      result = createProducer(mqURI='mardirac3.in2p3.fr::Queue::test1')
      self.assertTrue(result['OK'])
      producer = result['Value']
      result = producer.put('blabla')
      self.assertTrue(result['OK'])
      result = producer.put('blabla')
      self.assertTrue(result['OK'])
      result = producer.close()
      self.assertTrue(result['OK'])

    self.assertFalse(Test_MQProducers.reconnectWasCalled)
    time.sleep(3)
    self.assertFalse(Test_MQProducers.reconnectWasCalled)
Ejemplo n.º 3
0
  def test_success(self, mock_getMQParamsFromCS):
    result = createProducer(mqURI='mardirac3.in2p3.fr::Queue::test1')
    self.assertTrue(result['OK'])
    conn1 = self.getFirstConnection('mardirac3.in2p3.fr')
    self.assertTrue(conn1.is_connected())
    producer = result['Value']
    result = producer.put('blabla')
    self.assertTrue(result['OK'])
    # correct permissions must be set.
    # stopServer()
    # self.assertFalse(conn1.is_connected())
    # time.sleep(5)
    # startServer()
    # time.sleep(10) #this value will be timeout dependend so if it is to short it will fail.
    # self.assertTrue(conn1.is_connected())
    result = producer.put('blabla')
    self.assertTrue(result['OK'])

    result = producer.close()
    self.assertTrue(result['OK'])
    self.assertFalse(conn1.is_connected())

    result = producer._connectionManager.getAllMessengers()
    self.assertTrue(result['OK'])
    messengers = result['Value']
    expected = []
    self.assertEqual(sorted(messengers), sorted(expected))
Ejemplo n.º 4
0
  def test_success(self, mock_getMQParamsFromCS):
    result = createProducer(mqURI='mardirac3.in2p3.fr::Queue::test1')
    self.assertTrue(result['OK'])
    conn1 = self.getFirstConnection('mardirac3.in2p3.fr')
    self.assertTrue(conn1.is_connected())
    producer = result['Value']
    result = producer.put('blabla')
    self.assertTrue(result['OK'])
    # correct permissions must be set.
    # stopServer()
    # self.assertFalse(conn1.is_connected())
    # time.sleep(5)
    # startServer()
    # time.sleep(10) #this value will be timeout dependend so if it is to short it will fail.
    # self.assertTrue(conn1.is_connected())
    result = producer.put('blabla')
    self.assertTrue(result['OK'])

    result = producer.close()
    self.assertTrue(result['OK'])
    self.assertFalse(conn1.is_connected())

    result = producer._connectionManager.getAllMessengers()
    self.assertTrue(result['OK'])
    messengers = result['Value']
    expected = []
    self.assertEqual(sorted(messengers), sorted(expected))
Ejemplo n.º 5
0
  def __createProducer(self):
    """
    This method is used to create a producer
    """
    mqProducer = None
    result = createProducer("Monitoring::Queue::%s" % self.__monitoringType)
    if not result['OK']:
      gLogger.warn("Fail to create Producer:", result['Message'])
    else:
      mqProducer = result['Value']

    return mqProducer
Ejemplo n.º 6
0
    def __createProducer(self):
        """
    This method is used to create a producer
    """
        mqProducer = None
        result = createProducer("Monitoring::Queue::%s" %
                                self.__monitoringType)
        if not result['OK']:
            gLogger.warn("Fail to create Producer:", result['Message'])
        else:
            mqProducer = result['Value']

        return mqProducer
Ejemplo n.º 7
0
  def __init__(self, queue):
    """
    Initialization of the MessageQueueHandler.

    :params queue: string representing the queue identifier in the configuration.
                   example: "mardirac3.in2p3.fr::Queues::TestQueue"
    """
    super(MessageQueueHandler, self).__init__()
    self.producer = None
    result = createProducer(queue)
    if result['OK']:
      self.producer = result['Value']
    self.hostname = socket.gethostname()
Ejemplo n.º 8
0
 def __createProducer(self):
   """
   This method is used to create an MQ producer.
   Returns:
     MQProducer or None:
   """
   mqProducer = None
   result = createProducer("Monitoring::Queue::%s" % self.__failoverQueueName)
   if not result['OK']:
     gLogger.warn("Fail to create Producer:", result['Message'])
   else:
     mqProducer = result['Value']
   return mqProducer
Ejemplo n.º 9
0
    def __init__(self, queue):
        """
    Initialization of the MessageQueueHandler.

    :params queue: string representing the queue identifier in the configuration.
                   example: "mardirac3.in2p3.fr::Queues::TestQueue"
    """
        super(MessageQueueHandler, self).__init__()
        self.producer = None
        result = createProducer(queue)
        if result['OK']:
            self.producer = result['Value']
        self.hostname = socket.gethostname()
Ejemplo n.º 10
0
  def test_success(self, mock_getMQParamsFromCS):
    result = createProducer(mqURI='mardirac3.in2p3.fr::Queue::test1')
    self.assertTrue(result['OK'])
    producerFirst = result['Value']
    conn1 = self.getFirstConnection('mardirac3.in2p3.fr')
    self.assertTrue(conn1.is_connected())

    result = producerFirst.put('blabla')
    self.assertTrue(result['OK'])
    result = producerFirst.put('blabla')
    self.assertTrue(result['OK'])

    self.assertTrue(conn1.is_connected())

    producers = []
    for i in xrange(20):
      result = createProducer(mqURI='mardirac3.in2p3.fr::Queue::test1')
      self.assertTrue(result['OK'])
      producer = result['Value']
      producers.append(producer)
      result = producer.put('blabla')
      self.assertTrue(result['OK'])
      result = producer.put('blabla')
      self.assertTrue(result['OK'])

    result = producerFirst.close()
    self.assertTrue(result['OK'])

    self.assertTrue(conn1.is_connected())
    time.sleep(3)
    self.assertTrue(conn1.is_connected())

    for p in producers:
      result = p.close()
      self.assertTrue(result['OK'])
    self.assertFalse(conn1.is_connected())
Ejemplo n.º 11
0
  def test_success(self, mock_getMQParamsFromCS):
    result = createProducer(mqURI='mardirac3.in2p3.fr::Queue::test1')
    self.assertTrue(result['OK'])
    producerFirst = result['Value']
    conn1 = self.getFirstConnection('mardirac3.in2p3.fr')
    self.assertTrue(conn1.is_connected())

    result = producerFirst.put('blabla')
    self.assertTrue(result['OK'])
    result = producerFirst.put('blabla')
    self.assertTrue(result['OK'])

    self.assertTrue(conn1.is_connected())

    producers = []
    for i in range(20):
      result = createProducer(mqURI='mardirac3.in2p3.fr::Queue::test1')
      self.assertTrue(result['OK'])
      producer = result['Value']
      producers.append(producer)
      result = producer.put('blabla')
      self.assertTrue(result['OK'])
      result = producer.put('blabla')
      self.assertTrue(result['OK'])

    result = producerFirst.close()
    self.assertTrue(result['OK'])

    self.assertTrue(conn1.is_connected())
    time.sleep(3)
    self.assertTrue(conn1.is_connected())

    for p in producers:
      result = p.close()
      self.assertTrue(result['OK'])
    self.assertFalse(conn1.is_connected())
Ejemplo n.º 12
0
    def __init__(self, monitoringType=""):

        self.__maxRecordsInABundle = 5000
        self.__documentLock = threading.RLock()
        self.__documents = []
        self.__mq = False
        self.__monitoringType = None

        result = createProducer(monitoringType)
        if not result["OK"]:
            gLogger.warn("Fail to create Producer:", result["Message"])
        else:
            self.__mqProducer = result["Value"]
            self.__mq = True

        self.__monitoringType = monitoringType
Ejemplo n.º 13
0
    def __init__(self, monitoringType=''):

        self.__maxRecordsInABundle = 5000
        self.__documentLock = threading.RLock()
        self.__documents = []
        self.__mq = False
        self.__monitoringType = None

        result = createProducer(monitoringType)
        if not result['OK']:
            gLogger.warn("Fail to create Producer:", result['Message'])
        else:
            self.__mqProducer = result['Value']
            self.__mq = True

        self.__monitoringType = monitoringType
Ejemplo n.º 14
0
    def __init__(self, queue):
        """
        Initialization of the MessageQueueHandler.

        :param queue: queue identifier in the configuration.
                      example: "mardirac3.in2p3.fr::Queues::TestQueue"
        """
        super(MessageQueueHandler, self).__init__()
        self.producer = None
        result = createProducer(queue)
        if result["OK"]:
            self.producer = result["Value"]
        else:
            # print because logging not available
            print("ERROR initializing MessageQueueHandler: %s" % result)
        self.hostname = socket.gethostname()
Ejemplo n.º 15
0
 def __createProducer(self):
   """
   This method is used to create an MQ producer.
   Returns:
     MQProducer or None:
   """
   mqProducer = None
   result = gConfig.getConfigurationTree('/Resources/MQServices')
   if result['OK']:
     result = createProducer("Monitoring::Queues::%s" % self.__failoverQueueName)
     if not result['OK']:
       gLogger.error("Fail to create Producer:", result['Message'])
     else:
       mqProducer = result['Value']
   else:
     gLogger.warn("No MQ setup for Monitoring in CS. You are running Monitoring without failover:", result['Message'])
   return mqProducer
Ejemplo n.º 16
0
    def __init__(self, monitoringType=''):

        self.__maxRecordsInABundle = 5000
        self.__documentLock = threading.RLock()
        self.__documents = []
        self.__mq = False
        self.__monitoringType = None

        #check the existence of a MQ
        retVal = getMQParamsFromCS(monitoringType)
        if retVal['OK']:
            result = createProducer(monitoringType)
            if not result['OK']:
                gLogger.warn("Fail to create Producer:", result['Message'])
            else:
                self.__mqProducer = result['Value']
                self.__mq = True

        self.__monitoringType = monitoringType
Ejemplo n.º 17
0
  def test_success(self, mock_getMQParamsFromCS):

    conn1 = None
    # creating and closing
    for i in range(20):
      result = createProducer(mqURI='mardirac3.in2p3.fr::Queue::test1')
      if i == 1:
        conn1 = self.getFirstConnection('mardirac3.in2p3.fr')
      self.assertTrue(result['OK'])
      producer = result['Value']
      result = producer.put('blabla')
      self.assertTrue(result['OK'])
      result = producer.put('blabla')
      self.assertTrue(result['OK'])
      result = producer.close()
      self.assertTrue(result['OK'])

    self.assertFalse(conn1.is_connected())
    time.sleep(3)
    self.assertFalse(conn1.is_connected())
Ejemplo n.º 18
0
  def test_success(self, mock_getMQParamsFromCS):

    conn1 = None
    # creating and closing
    for i in xrange(20):
      result = createProducer(mqURI='mardirac3.in2p3.fr::Queue::test1')
      if i == 1:
        conn1 = self.getFirstConnection('mardirac3.in2p3.fr')
      self.assertTrue(result['OK'])
      producer = result['Value']
      result = producer.put('blabla')
      self.assertTrue(result['OK'])
      result = producer.put('blabla')
      self.assertTrue(result['OK'])
      result = producer.close()
      self.assertTrue(result['OK'])

    self.assertFalse(conn1.is_connected())
    time.sleep(3)
    self.assertFalse(conn1.is_connected())
Ejemplo n.º 19
0
  def test_success(self, mock_getMQParamsFromCS):
    result = createProducer(mqURI='mardirac3.in2p3.fr::Queue::test1')
    self.assertTrue(result['OK'])
    producer = result['Value']

    conn1 = self.getFirstConnection('mardirac3.in2p3.fr')
    self.assertTrue(conn1.is_connected())

    result = producer.put('blabla')
    self.assertTrue(result['OK'])
    result = producer.put('blabla')
    self.assertTrue(result['OK'])

    self.assertTrue(conn1.is_connected())
    result = producer.close()
    self.assertTrue(result['OK'])
    result = producer._connectionManager.getAllMessengers()
    self.assertTrue(result['OK'])
    messengers = result['Value']
    expected = []
    self.assertEqual(sorted(messengers), sorted(expected))
    self.assertFalse(conn1.is_connected())
Ejemplo n.º 20
0
  def test_success(self, mock_getMQParamsFromCS):
    result = createProducer(mqURI='mardirac3.in2p3.fr::Queue::test1')
    self.assertTrue(result['OK'])
    producer = result['Value']

    conn1 = self.getFirstConnection('mardirac3.in2p3.fr')
    self.assertTrue(conn1.is_connected())

    result = producer.put('blabla')
    self.assertTrue(result['OK'])
    result = producer.put('blabla')
    self.assertTrue(result['OK'])

    self.assertTrue(conn1.is_connected())
    result = producer.close()
    self.assertTrue(result['OK'])
    result = producer._connectionManager.getAllMessengers()
    self.assertTrue(result['OK'])
    messengers = result['Value']
    expected = []
    self.assertEqual(sorted(messengers), sorted(expected))
    self.assertFalse(conn1.is_connected())