Exemple #1
0
 def create_logger_alias(self, parent, name):
     logger_service = as_internal_node('/services/logger')
     if logger_service.has_child(name):
         # get_child returns the actual child, as_node would follow an
         # alias.
         trend_alias = logger_service.get_child(name)
         name_in_use = not isinstance(trend_alias, Alias)
         if not name_in_use:
             name_in_use |= as_internal_node(
                 os.path.dirname(trend_alias.node_url)) is not self
         if name_in_use:
             raise ENameInUse(trend_alias.as_node_url())
     else:
         trend_alias = Alias()
         parent_url = as_node(parent).as_node_url()
         quoted_name = urllib.quote(name, '')
         trend_alias.configure({
             'name':
             name,
             'parent':
             logger_service,
             'node_url':
             os.path.join(parent_url, quoted_name, quoted_name)
         })
     return
Exemple #2
0
 def setUp(self):
     DefaultTestFixture.setUp(self)
     self.root = as_internal_node('/')
     self.input = CompositeNode()
     self.output = CompositeNode()
     self.input.configure({'parent': self.root, 'name': 'input'})
     self.output.configure({'parent': self.root, 'name': 'output'})
     self.input_value = SimpleValue()
     self.output_value = SimpleValue()
     self.input_value.configure({'parent': self.input, 'name': 'value'})
     self.output_value.configure({'parent': self.output, 'name': 'value'})
     self.aliases = Aliases()
     self.aliases.configure({'parent': self.root, 'name': 'aliases'})
     self.alias_input = Alias()
     self.alias_input.configure({
         'parent': self.aliases,
         'name': 'input',
         'node_url': '/input/value'
     })
     self.alias_output = Alias()
     self.alias_output.configure({
         'parent': self.aliases,
         'name': 'output',
         'node_url': '/output/value'
     })
     self.input_value.set(1)
     self.output_value.set(0)
     return
Exemple #3
0
 def create_logger_alias(self, parent, name):
     logger_service = as_internal_node('/services/logger')
     if logger_service.has_child(name):
         # get_child returns the actual child, as_node would follow an
         # alias.
         trend_alias = logger_service.get_child(name)
         name_in_use = not isinstance(trend_alias, Alias)
         if not name_in_use:
             name_in_use |= as_internal_node(
                 os.path.dirname(trend_alias.node_url)
                 ) is not self
         if name_in_use:
             raise ENameInUse(trend_alias.as_node_url())
     else:
         trend_alias = Alias()
         parent_url = as_node(parent).as_node_url()
         quoted_name = urllib.quote(name,'')
         trend_alias.configure(
             {'name':name, 'parent':logger_service,
              'node_url':os.path.join(parent_url, quoted_name, quoted_name)}
             )
     return
 def setUp(self):
     DefaultTestFixture.setUp(self)
     self.root = as_internal_node('/')
     self.input = CompositeNode()
     self.output = CompositeNode()
     self.input.configure({'parent':self.root, 'name':'input'})
     self.output.configure({'parent':self.root, 'name':'output'})
     self.input_value = SimpleValue()
     self.output_value = SimpleValue()
     self.input_value.configure({'parent':self.input, 'name':'value'})
     self.output_value.configure({'parent':self.output, 'name':'value'})
     self.aliases = Aliases()
     self.aliases.configure({'parent':self.root, 'name':'aliases'})
     self.alias_input = Alias()
     self.alias_input.configure({'parent':self.aliases, 'name':'input',
                                 'node_url':'/input/value'})
     self.alias_output = Alias()
     self.alias_output.configure({'parent':self.aliases, 'name':'output',
                                 'node_url':'/output/value'})
     self.input_value.set(1)
     self.output_value.set(0)
     return
Exemple #5
0
 def test_deferred_input(self):
     driver = PeriodicDriver()
     driver.configure({
         'name': 'driver',
         'parent': self.output_value,
         'input': '/aliases/deferred_input',
         'period': 0.01
     })
     self.assert_(self.output_value.get() == 0,
                  "Output already non-zero, bogus test...")
     driver.start()
     pause(0.1)
     Alias().configure({
         'parent': self.aliases,
         'name': 'deferred_input',
         'node_url': '/input/value'
     })
     timeout_at = time.time() + 1.0
     while self.output_value.get() == 0:
         if time.time() > timeout_at:
             self.fail("self.output_value never driven to 1.")
         pause(0.01)
     return
class TestCase(DefaultTestFixture):
    def setUp(self):
        DefaultTestFixture.setUp(self)
        self.root = as_internal_node('/')
        self.input = CompositeNode()
        self.output = CompositeNode()
        self.input.configure({'parent':self.root, 'name':'input'})
        self.output.configure({'parent':self.root, 'name':'output'})
        self.input_value = SimpleValue()
        self.output_value = SimpleValue()
        self.input_value.configure({'parent':self.input, 'name':'value'})
        self.output_value.configure({'parent':self.output, 'name':'value'})
        self.aliases = Aliases()
        self.aliases.configure({'parent':self.root, 'name':'aliases'})
        self.alias_input = Alias()
        self.alias_input.configure({'parent':self.aliases, 'name':'input',
                                    'node_url':'/input/value'})
        self.alias_output = Alias()
        self.alias_output.configure({'parent':self.aliases, 'name':'output',
                                    'node_url':'/output/value'})
        self.input_value.set(1)
        self.output_value.set(0)
        return
    def tearDown(self):
        try:
            self.root.prune()
            self.root = None
        finally:
            DefaultTestFixture.tearDown(self)
        return
    def test_simple_case(self):
        driver = PeriodicDriver()
        driver.configure({'name':'driver','parent':self.output_value,
                          'input':self.input_value})
        self.assert_(self.output_value.get() == 0,
                     "Output already non-zero, bogus test...")
        driver.start()
        timeout_at = time.time() + 1.0
        while self.output_value.get() == 0:
            if time.time() > timeout_at:
                self.fail("self.output_value never driven to 1.")
            pause(0.01)
        return
    def test_alias_input(self):
        driver = PeriodicDriver()
        driver.configure({'name':'driver','parent':self.output_value,
                          'input':self.alias_input})
        self.assert_(self.output_value.get() == 0,
                     "Output already non-zero, bogus test...")
        driver.start()
        timeout_at = time.time() + 1.0
        while self.output_value.get() == 0:
            if time.time() > timeout_at:
                self.fail("self.output_value never driven to 1.")
            pause(0.01)
        return
    def test_alias_output(self):
        driver = PeriodicDriver()
        driver.configure({'name':'driver','parent':self.output,
                          'input':self.input_value, 'output':self.alias_output,
                          })
        self.assert_(self.output_value.get() == 0,
                     "Output already non-zero, bogus test...")
        driver.start()
        timeout_at = time.time() + 1.0
        while self.output_value.get() == 0:
            if time.time() > timeout_at:
                self.fail("self.output_value never driven to 1.")
            pause(0.01)
        return
    def test_deferred_input(self):
        driver = PeriodicDriver()
        driver.configure({'name':'driver','parent':self.output_value,
                          'input':'/aliases/deferred_input',
                          'period':0.01})
        self.assert_(self.output_value.get() == 0,
                     "Output already non-zero, bogus test...")
        driver.start()
        pause(0.1)
        Alias().configure({'parent':self.aliases, 'name':'deferred_input',
                           'node_url':'/input/value'})
        timeout_at = time.time() + 1.0
        while self.output_value.get() == 0:
            if time.time() > timeout_at:
                self.fail("self.output_value never driven to 1.")
            pause(0.01)
        return
Exemple #7
0
def factory():
    from mpx.lib.node import Alias
    from mpx.lib import deprecated
    deprecated("mpx.service.alias.factory has been deprecated,"
               " please use mpx.lib.node.Alias")
    return Alias()
Exemple #8
0
class TestCase(DefaultTestFixture):
    def setUp(self):
        DefaultTestFixture.setUp(self)
        self.root = as_internal_node('/')
        self.input = CompositeNode()
        self.output = CompositeNode()
        self.input.configure({'parent': self.root, 'name': 'input'})
        self.output.configure({'parent': self.root, 'name': 'output'})
        self.input_value = SimpleValue()
        self.output_value = SimpleValue()
        self.input_value.configure({'parent': self.input, 'name': 'value'})
        self.output_value.configure({'parent': self.output, 'name': 'value'})
        self.aliases = Aliases()
        self.aliases.configure({'parent': self.root, 'name': 'aliases'})
        self.alias_input = Alias()
        self.alias_input.configure({
            'parent': self.aliases,
            'name': 'input',
            'node_url': '/input/value'
        })
        self.alias_output = Alias()
        self.alias_output.configure({
            'parent': self.aliases,
            'name': 'output',
            'node_url': '/output/value'
        })
        self.input_value.set(1)
        self.output_value.set(0)
        return

    def tearDown(self):
        try:
            self.root.prune()
            self.root = None
        finally:
            DefaultTestFixture.tearDown(self)
        return

    def test_simple_case(self):
        driver = PeriodicDriver()
        driver.configure({
            'name': 'driver',
            'parent': self.output_value,
            'input': self.input_value
        })
        self.assert_(self.output_value.get() == 0,
                     "Output already non-zero, bogus test...")
        driver.start()
        timeout_at = time.time() + 1.0
        while self.output_value.get() == 0:
            if time.time() > timeout_at:
                self.fail("self.output_value never driven to 1.")
            pause(0.01)
        return

    def test_alias_input(self):
        driver = PeriodicDriver()
        driver.configure({
            'name': 'driver',
            'parent': self.output_value,
            'input': self.alias_input
        })
        self.assert_(self.output_value.get() == 0,
                     "Output already non-zero, bogus test...")
        driver.start()
        timeout_at = time.time() + 1.0
        while self.output_value.get() == 0:
            if time.time() > timeout_at:
                self.fail("self.output_value never driven to 1.")
            pause(0.01)
        return

    def test_alias_output(self):
        driver = PeriodicDriver()
        driver.configure({
            'name': 'driver',
            'parent': self.output,
            'input': self.input_value,
            'output': self.alias_output,
        })
        self.assert_(self.output_value.get() == 0,
                     "Output already non-zero, bogus test...")
        driver.start()
        timeout_at = time.time() + 1.0
        while self.output_value.get() == 0:
            if time.time() > timeout_at:
                self.fail("self.output_value never driven to 1.")
            pause(0.01)
        return

    def test_deferred_input(self):
        driver = PeriodicDriver()
        driver.configure({
            'name': 'driver',
            'parent': self.output_value,
            'input': '/aliases/deferred_input',
            'period': 0.01
        })
        self.assert_(self.output_value.get() == 0,
                     "Output already non-zero, bogus test...")
        driver.start()
        pause(0.1)
        Alias().configure({
            'parent': self.aliases,
            'name': 'deferred_input',
            'node_url': '/input/value'
        })
        timeout_at = time.time() + 1.0
        while self.output_value.get() == 0:
            if time.time() > timeout_at:
                self.fail("self.output_value never driven to 1.")
            pause(0.01)
        return