Beispiel #1
0
    def test_object_copy_with_mapping(self):

        from cocktail.schema import Adapter, Schema, Copy

        adapter = Adapter()
        adapter.implicit_copy = False
        adapter.copy({"name": "user_name"})

        user = User()
        user.id = 3
        user.name = "Kurt Russell"
        user.enabled = True

        form = {}

        # Export
        adapter.export_object(user, form)
        self.assertEqual(form, {"user_name": user.name})

        # Import
        form["user_name"] = "Chuck Norris"
        adapter.import_object(form, user)
        self.assertEqual(user.id, 3)
        self.assertEqual(user.name, form["user_name"])
        self.assertEqual(user.enabled, True)
Beispiel #2
0
    def test_implicit_object_copy(self):

        from cocktail.schema import Schema, Adapter

        user_schema = get_user_schema()
        adapter = Adapter()

        # Exporting objects
        user = User()
        user.id = 3
        user.name = "Kurt Russell"
        user.enabled = True

        form = {}
        adapter.export_object(user, form, user_schema)

        self.assertEqual(user.id, form["id"])
        self.assertEqual(user.name, form["name"])
        self.assertEqual(user.enabled, form["enabled"])

        # Importing objects
        user2 = User()
        adapter.import_object(form, user2, user_schema)

        self.assertEqual(user2.id, form["id"])
        self.assertEqual(user2.name, form["name"])
        self.assertEqual(user2.enabled, form["enabled"])
Beispiel #3
0
    def test_disabled_implicit_object_copy(self):

        from cocktail.schema import Schema, Adapter

        adapter = Adapter()
        adapter.implicit_copy = False

        user = User()
        user.id = 3
        user.name = "Kurt Russell"
        user.enabled = True

        form = {}

        adapter.export_object(user, form)
        self.assertFalse(form)

        adapter.import_object(user, form)
        self.assertFalse(form)