示例#1
0
    def test_database_layer_nulldriver(self):

        # Define models by calling the class
        node = Node()

        node.name = "My awsome node"

        # Add 1 port
        node.append_port(name="port1",
                         direction="in",
                         protocol="ros1",
                         parameters=[],
                         callback={
                             "_id":
                             "",
                             "_name":
                             "my awsome callback",
                             "tags": [{
                                 "name": "label",
                                 "value": "my awsome callback"
                             }],
                             "parameters": [{
                                 "name": "ros_parameters",
                                 "data": {
                                     "msgtype": "movaimsg",
                                     "scene": "scene_a"
                                 }
                             }],
                             "code":
                             "print(globals())",
                             "libraries": []
                         })

        # Checking num of ports
        self.assertEqual(len(node.ports), 1)

        # Checking port content
        self.assertEqual(node.ports[0].name, "port1")
        self.assertEqual(node.ports[0].direction, "in")
        self.assertEqual(node.ports[0].protocol, "ros1")
        self.assertEqual(len(node.ports[0].parameters), 0)

        db = DatabaseLayer(drv=RedisDriver())
        ids = db.store(node)

        node.version = "1.1"
        ids = db.store(node)