Пример #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)
Пример #2
0
    def test_simple_object_copy(self):

        from cocktail.schema import Adapter, Schema, Copy

        adapter = Adapter()
        adapter.implicit_copy = False
        adapter.copy("id")
        adapter.copy("name")

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

        form = {}
        adapter.export_object(user, form)
        self.assertEqual(form, {"id": user.id, "name": user.name})
Пример #3
0
    def test_simple_schema_copy(self):

        from cocktail.schema import Adapter, Schema, Copy

        adapter = Adapter()
        adapter.implicit_copy = False
        adapter.copy("id")
        adapter.copy("name")

        user_schema = get_user_schema()
        form_schema = Schema()

        adapter.export_schema(user_schema, form_schema)
        self.assertEqual(len(form_schema.members()), 2)
        self.assertEqual(
            set(form_schema.members().keys()),
            set(["id", "name"])
        )