Esempio n. 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, [])
Esempio n. 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)
Esempio n. 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)
Esempio n. 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)
Esempio n. 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)
Esempio n. 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']}), {})])
Esempio n. 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)
Esempio n. 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']}), {})])
Esempio n. 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
Esempio n. 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")
Esempio n. 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"]})
Esempio n. 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