code: def test_serialize(self):
      plugins = [self.mock_plugin, self.mock_plugin_2]
  
      deserialized = plugin_collection_schema.dump(
          PluginCollection(plugins=plugins, total_entries=2)
      )
      assert deserialized == {
          "plugins": [
              {
                  "appbuilder_menu_items": [appbuilder_menu_items],
                  "appbuilder_views": [
                      {
                          "view": self.mock_plugin.appbuilder_views[0][
                              "view"
                          ]
                      }
                  ],
                  "executors": [],
                  "flask_blueprints": [str(bp)],
                  "global_operator_extra_links": [
                      str(MockOperatorLink())
                  ],
                  "hooks": [str(PluginHook)],
                  "macros": [str(plugin_macro)],
                  "operator_extra_links": [str(MockOperatorLink())],
                  "source": None,
                  "name": "test_plugin",
                  "ti_deps": [],
                  "listeners": [],
                  "timetables": [],
              },
              {
                  "appbuilder_menu_items": [appbuilder_menu_items],
                  "appbuilder_views": [
                      {
                          "view": self.mock_plugin.appbuilder_views[0][
                              "view"
                          ]
                      }
                  ],
                  "executors": [],
                  "flask_blueprints": [str(bp)],
                  "global_operator_extra_links": [
                      str(MockOperatorLink())
                  ],
                  "hooks": [str(PluginHook)],
                  "macros": [str(plugin_macro)],
                  "operator_extra_links": [str(MockOperatorLink())],
                  "source": None,
                  "name": "test_plugin_2",
                  "ti_deps": [],
                  "listeners": [],
                  "timetables": [],
              },
          ],
          "total_entries": 2,
      }
  
imports: from __future__ import annotations
  from flask import Blueprint
  from flask_appbuilder import BaseView
  from airflow.api_connexion.schemas.plugin_schema import PluginCollection, plugin_collection_schema, plugin_schema
  from airflow.hooks.base import BaseHook
  from airflow.models.baseoperatorlink import BaseOperatorLink
  from airflow.plugins_manager import AirflowPlugin
label_desc: Use image node_id 1 for calling the TestPluginCollectionSchema obj's underlying member method code with example usage: obj.test_serialize() without return types