Ejemplo n.º 1
0
    def test_entries_w_direct_attrs(self):
        m = Manifest()
        m.add(["foo"], {"uid": 1234, "gid": 321})
        m.add(["foo", "bar"], {"size": 123, "mode": 0o040755})
        m.add(["foo", "bar", "baz"], {"xyzzy": "z", "a": "b", "mode": 0o100644})
        s = StringIO()
        ManifestFileWriter().write(m, s, indent = "    ")
        self.assertEqual(s.getvalue(), """\
foo {gid: 321, uid: 1234}
    bar {mode: 0o040755, size: 123}
        baz {a: b, mode: 0o100644, xyzzy: z}
""")
Ejemplo n.º 2
0
class Test_Manifest_add(unittest.TestCase):

    def setUp(self):
        self.m = Manifest()

    def test_add_nothing_fails(self):
        self.assertRaises(ValueError, self.m.add, [])
        self.assertEqual(self.m, {})

    def test_add_one(self):
        self.m.add(["foo"])
        self.assertEqual(self.m, {"foo": {}})

    def test_add_two(self):
        self.m.add(["foo"])
        self.m.add(["bar"])
        self.assertEqual(self.m, {"foo": {}, "bar": {}})

    def test_add_sub(self):
        self.m.add(["foo"])
        self.m.add(["foo", "sub"])
        self.assertEqual(self.m, {"foo": {"sub": {}}})

    def test_add_empty_fails(self):
        self.assertRaises(ValueError, self.m.add, [""])
        self.assertEqual(self.m, {})

    def test_add_empty_sub_fails(self):
        self.m.add(["foo"])
        self.assertRaises(ValueError, self.m.add, ["foo", ""])
        self.assertEqual(self.m, {"foo": {}})

    def test_add_sub_without_parent_fails(self):
        self.assertRaises(ValueError, self.m.add, ["foo", "sub"])
        self.assertEqual(self.m, {})

    def test_add_one_w_attrs(self):
        self.m.add(["foo"], {"size": 123, "bar": "baz"})
        self.assertEqual(self.m, {"foo": {}})
        self.assertEqual(self.m["foo"].getattrs(), {"size": 123, "bar": "baz"})

    def test_add_sub_w_attrs(self):
        self.m.add(["foo"], {"blarg": None})
        self.m.add(["foo", "bar"], {"size": 123, "bar": "baz"})
        self.assertEqual(self.m, {"foo": {"bar": {}}})
        self.assertEqual(self.m["foo"].getattrs(), {"blarg": None})
        self.assertEqual(self.m["foo"]["bar"].getattrs(),
                         {"size": 123, "bar": "baz"})