Example #1
0
    def test_update_server_no_changes(self):
        update_server(self.db, "test",
                      self.dbdict["servers"]["TangoTest"]["test"],
                      self.dbdict["servers"]["TangoTest"]["test"],
                      difactory=Mock)

        self.assertListEqual(self.db.calls, [])
Example #2
0
 def test_update_server_remove_device_update_skips(self):
     devname = "sys/tg_test/2"
     del self.data["servers"]["TangoTest"]["test"]["TangoTest"][devname]
     update_server(self.db, "test",
                   self.data["servers"]["TangoTest"]["test"],
                   self.dbdict["servers"]["TangoTest"]["test"],
                   update=True, difactory=Mock)
     self.assertEqual(len(self.db.calls), 0)
Example #3
0
    def test_update_server_doesnt_remove_protected_property(self):

        dev = find_device(self.dbdict, "sys/tg_test/2")[0]
        dev["properties"]["polled_attr"] = ["SomeAttr", "1000"]

        update_server(self.db, "test",
                      self.data["servers"]["TangoTest"]["test"],
                      self.dbdict["servers"]["TangoTest"]["test"],
                      difactory=Mock)

        self.assertEqual(len(self.db.calls), 0)
Example #4
0
 def test_update_server_remove_device(self):
     devname = "sys/tg_test/2"
     del self.data["servers"]["TangoTest"]["test"]["TangoTest"][devname]
     update_server(self.db, "test",
                   self.data["servers"]["TangoTest"]["test"],
                   self.dbdict["servers"]["TangoTest"]["test"],
                   difactory=Mock)
     self.assertEqual(len(self.db.calls), 1)
     dbcall, args, kwargs = self.db.calls[0]
     self.assertEqual(dbcall, "delete_device")
     self.assertEqual(len(args), 1)
     self.assertEqual(args[0], devname)
Example #5
0
    def test_update_server_ignore_property_case(self):

        "Test that property names can be case insensitive"

        dev = find_device(self.data, "sys/tg_test/2", caseless=True)[0]
        dev["properties"]["BEpA"] = ["45"]

        update_server(self.db, "test",
                      self.data["servers"]["TangoTest"]["test"],
                      self.dbdict["servers"]["TangoTest"]["test"],
                      ignore_case=True, difactory=Mock)

        self.assertEqual(len(self.db.calls), 0)
Example #6
0
    def test_update_server_add_property(self):

        dev = find_device(self.data, "sys/tg_test/2")[0]
        dev["properties"]["flepp"] = ["56"]

        update_server(self.db, "test",
                      self.data["servers"]["TangoTest"]["test"],
                      self.dbdict["servers"]["TangoTest"]["test"],
                      difactory=Mock)

        self.assertListEqual(
            self.db.calls,
            [('put_device_property', ('sys/tg_test/2', {'flepp': ['56']}), {})])
Example #7
0
 def test_update_server_add_empty_device(self):
     new_devname = "a/new/dev"
     dev = {}
     self.data["servers"]["TangoTest"]["test"]["TangoTest"][new_devname] = dev
     update_server(self.db, "TangoTest/test",
                   self.data["servers"]["TangoTest"]["test"],
                   self.dbdict["servers"]["TangoTest"]["test"],
                   difactory=Mock)
     # verify the db calls made
     self.assertEqual(len(self.db.calls), 1)
     dbcall, args, kwargs = self.db.calls[0]
     self.assertEqual(dbcall, "add_device")
     self.assertEqual(len(args), 1)
     self.assertEqual(args[0].server, "TangoTest/test")
     self.assertEqual(args[0].name, new_devname)
Example #8
0
    def test_update_server_ignore_device_case(self):

        "Test that device names can be case insensitive"

        dev = find_device(self.data, "SYS/TG_TESt/2", caseless=True)[0]
        dev["properties"]["flepp"] = ["56"]

        update_server(self.db, "test",
                      self.data["servers"]["TangoTest"]["test"],
                      self.dbdict["servers"]["TangoTest"]["test"],
                      ignore_case=True, difactory=Mock)

        self.assertListEqual(
            self.db.calls,
            [('put_device_property', ('sys/tg_test/2', {'flepp': ['56']}), {})])
Example #9
0
    def test_update_server_remove_property(self):

        dev = find_device(self.data, "sys/tg_test/2")[0]
        del dev["properties"]["bepa"]

        update_server(self.db, "test",
                      self.data["servers"]["TangoTest"]["test"],
                      self.dbdict["servers"]["TangoTest"]["test"],
                      difactory=Mock)

        self.assertEqual(len(self.db.calls), 1)
        dbcall, args, kwargs = self.db.calls[0]
        self.assertEqual(dbcall, "delete_device_property")
        self.assertEqual(args[0], "sys/tg_test/2")
        self.assertTrue(len(args[1]) == 1)
        self.assertTrue("bepa" in args[1])  # can be list or dict
Example #10
0
    def test_update_server_add_device_2(self):

        new_data = {
            "TangoTest": {
                "sys/tg_test/apa": {}
            }
        }

        update_server(self.db, "TangoTest/1", new_data, AppendingDict(),
                      difactory=Mock)

        self.assertEqual(len(self.db.calls), 1)
        dbcall, args, kwargs = self.db.calls[0]
        self.assertEqual(dbcall, 'add_device')
        self.assertEqual(args[0].name, 'sys/tg_test/apa')
        self.assertEqual(args[0]._class, "TangoTest")
        self.assertEqual(args[0].server, "TangoTest/1")
Example #11
0
 def test_update_server_add_device_with_property(self):
     new_devname = "a/new/dev"
     dev = {"properties": {"test": ["hello"]}}
     self.data["servers"]["TangoTest"]["test"]["TangoTest"][new_devname] = dev
     update_server(self.db, "TangoTest/test",
                   self.data["servers"]["TangoTest"]["test"],
                   self.dbdict["servers"]["TangoTest"]["test"],
                   difactory=Mock)
     self.assertEqual(len(self.db.calls), 2)
     dbcall, args, kwargs = self.db.calls[0]
     self.assertEqual(dbcall, "add_device")
     self.assertEqual(len(args), 1)
     self.assertEqual(args[0].name, new_devname)
     dbcall, args, kwargs = self.db.calls[1]
     self.assertEqual(dbcall, "put_device_property")
     self.assertEqual(len(args), 2)
     self.assertEqual(args[0], new_devname)
     self.assertDictEqual(args[1], {"test": ["hello"]})
Example #12
0
    def test_update_server_removes_protected_property_if_empty(self):

        dev = find_device(self.dbdict, "sys/tg_test/2")[0]
        dev["properties"]["polled_attr"] = ["SomeAttr", "1000"]

        dev = find_device(self.data, "sys/tg_test/2")[0]
        dev["properties"]["polled_attr"] = []

        update_server(self.db, "test",
                      self.data["servers"]["TangoTest"]["test"],
                      self.dbdict["servers"]["TangoTest"]["test"],
                      difactory=Mock)

        self.assertEqual(len(self.db.calls), 1)
        dbcall, args, kwargs = self.db.calls[0]
        self.assertEqual(dbcall, "delete_device_property")
        self.assertEqual(args[0], "sys/tg_test/2")
        self.assertTrue(len(args[1]) == 1)
        self.assertTrue("polled_attr" in args[1])  # can be list or dict