def test_param_server_cache(self):
        from rospy.impl.paramserver import get_param_server_cache
        ps = get_param_server_cache()
        self.assert_(ps is not None)
        try:
            ps.get('foo')
            self.fail("get should fail on non-existent key")
        except KeyError:
            pass
        for i in range(0, 10):
            k = 'key-%s%s' % (i, random.randint(0, 1000))
            v = 'value-%s' % random.randint(0, 1000)
            try:
                ps.update(k, v)
                self.fail("update should fail on non-existent key " + k)
            except KeyError:
                pass

            ps.set(k, v)
            self.assertEquals(v, ps.get(k))
            v = 'value-%s' % random.randint(0, 1000)
            ps.update(k, v)
            self.assertEquals(v, ps.get(k))

            ps.delete(k)
            try:
                ps.get(k)
                self.fail('get should fail on deleted key')
            except KeyError:
                pass
Example #2
0
 def paramUpdate(self, caller_id, parameter_key, parameter_value):
     """
     Callback from master of current publisher list for specified topic.
     @param caller_id: ROS caller id
     @type  caller_id: str
     @param parameter_key str: parameter name, globally resolved
     @type  parameter_key: str
     @param parameter_value New parameter value
     @type  parameter_value: XMLRPC-legal value
     @return: [code, status, ignore]. If code is -1 ERROR, the node
     is not subscribed to parameter_key
     @rtype: [int, str, int]
     """
     try:
         get_param_server_cache().update(parameter_key, parameter_value)
         return 1, '', 0
     except KeyError:
         return -1, 'not subscribed', 0
Example #3
0
 def paramUpdate(self, caller_id, parameter_key, parameter_value):
     """
     Callback from master of current publisher list for specified topic.
     @param caller_id: ROS caller id
     @type  caller_id: str
     @param parameter_key str: parameter name, globally resolved
     @type  parameter_key: str
     @param parameter_value New parameter value
     @type  parameter_value: XMLRPC-legal value
     @return: [code, status, ignore]. If code is -1 ERROR, the node
     is not subscribed to parameter_key
     @rtype: [int, str, int]
     """
     try:
         get_param_server_cache().update(parameter_key, parameter_value)
         return 1, '', 0
     except KeyError:
         return -1, 'not subscribed', 0
Example #4
0
 def test_param_server_cache(self):
     from rospy.impl.paramserver import get_param_server_cache
     ps = get_param_server_cache()
     self.assert_(ps is not None)
     try:
         ps.get('foo')
         self.fail("get should fail on non-existent key")
     except KeyError, e:
         pass
Example #5
0
 def paramUpdate(self, caller_id, parameter_key, parameter_value,
                 client_ip_address):
     """
     Callback from master of current publisher list for specified topic.
     @param caller_id: ROS caller id
     @type  caller_id: str
     @param parameter_key str: parameter name, globally resolved
     @type  parameter_key: str
     @param parameter_value New parameter value
     @type  parameter_value: XMLRPC-legal value
     @return: [code, status, ignore]. If code is -1 ERROR, the node
     is not subscribed to parameter_key
     @rtype: [int, str, int]
     """
     if not is_uri_match(self.masterUri, client_ip_address):
         auth_logger.warn(
             "paramUpdate( %s, %s, %s ) method not authorized" %
             (caller_id, parameter_key, client_ip_address))
         return -1, "method not authorized", []
     try:
         get_param_server_cache().update(parameter_key, parameter_value)
         return 1, '', 0
     except KeyError:
         return -1, 'not subscribed', 0