Пример #1
0
 def test_generate_nested_list_dict(self):
     test = "tests/backend/data_schemas/list_dict.json"
     ifp = open(os.path.join(self.cwd, test), "r")
     dsd = DataSchemaManager(ifp)
     data = dsd.generate(1)
     jdata = json.loads(data)
     self.assertEqual(set(jdata.keys()), set(["motor", "id"]))
     self.assertEqual(len(jdata["motor"]), 2)
     self.assertEqual(set(jdata["motor"][0].keys()),
                      set(["speed", "turn_radius"]))
     self.assertEqual(set(jdata["motor"][1].keys()),
                      set(["speed", "turn_radius"]))
Пример #2
0
class TestDataSchemaGenerations(unittest.TestCase):
    def setUp(self):
        self.cwd = settings["lupulo_cwd"]
        test = "tests/backend/data_schemas/complete.json"
        self.fp = open(os.path.join(self.cwd, test), "r")
        self.old_inotify = settings['activate_inotify']
        settings['activate_inotify'] = False
        self.valid_schema_desc = DataSchemaManager(self.fp)

    def tearDown(self):
        self.fp.close()
        settings['activate_inotify'] = self.old_inotify

    def test_generate_complete(self):
        data = self.valid_schema_desc.generate(1)
        jdata = json.loads(data)
        valid_keys = set(self.valid_schema_desc.descriptors.keys())
        valid_keys.add("id")
        self.assertEqual(set(jdata.keys()), valid_keys)

    def test_generate_partial(self):
        data = self.valid_schema_desc.generate(1, ["battery", "date"])
        jdata = json.loads(data)
        self.assertEqual(["battery", "date", "id"], jdata.keys())

    def test_generate_null(self):
        data = self.valid_schema_desc.generate([])
        jdata = json.loads(data)
        valid_keys = set(self.valid_schema_desc.descriptors.keys())
        valid_keys.add("id")
        self.assertEqual(set(jdata.keys()), valid_keys)
        data = self.valid_schema_desc.generate(1, ["nothing"])
        jdata = json.loads(data)
        self.assertEqual(jdata.keys(), ["id"])

    def test_generate_list(self):
        data = self.valid_schema_desc.generate(1, ["distances"])
        jdata = json.loads(data)
        self.assertEqual(set(["distances", "id"]), set(jdata.keys()))
        self.assertEqual(len(jdata["distances"]), 8)

    def test_generate_dict(self):
        data = self.valid_schema_desc.generate(1, ["motor"])
        jdata = json.loads(data)
        self.assertEqual(set(["motor", "id"]), set(jdata.keys()))
        self.assertEqual(type(jdata["motor"]), dict)
        self.assertEqual(set(["turn_radius", "speed"]),
                         set(jdata["motor"].keys()))
        self.assertEqual(type(jdata["motor"]["speed"]), float)
        self.assertEqual(type(jdata["motor"]["turn_radius"]), float)

    def test_generate_nested_list_dict(self):
        test = "tests/backend/data_schemas/list_dict.json"
        ifp = open(os.path.join(self.cwd, test), "r")
        dsd = DataSchemaManager(ifp)
        data = dsd.generate(1)
        jdata = json.loads(data)
        self.assertEqual(set(jdata.keys()), set(["motor", "id"]))
        self.assertEqual(len(jdata["motor"]), 2)
        self.assertEqual(set(jdata["motor"][0].keys()),
                         set(["speed", "turn_radius"]))
        self.assertEqual(set(jdata["motor"][1].keys()),
                         set(["speed", "turn_radius"]))