code: def insert_tag(
      self,
      name: str,
      tag_type: str,
  ) -> Tag:
      tag_name = name.strip()
      tag = Tag(
          name=tag_name,
          type=tag_type,
      )
      db.session.add(tag)
      db.session.commit()
      return tag
  
imports: from operator import and_
  from unittest.mock import patch
  import pytest
  from superset.daos.exceptions import DAOCreateFailedError, DAOException
  from superset.models.slice import Slice
  from superset.models.sql_lab import SavedQuery
  from superset.daos.tag import TagDAO
  from superset.tags.exceptions import InvalidTagNameError
  from superset.tags.models import ObjectType, Tag, TaggedObject
  from tests.integration_tests.tags.api_tests import TAGS_FIXTURE_COUNT
  import tests.integration_tests.test_app
  from superset import db, security_manager
  from superset.daos.dashboard import DashboardDAO
  from superset.models.dashboard import Dashboard
  from tests.integration_tests.base_tests import SupersetTestCase
  from tests.integration_tests.fixtures.world_bank_dashboard import load_world_bank_dashboard_with_slices, load_world_bank_data
  from tests.integration_tests.fixtures.tags import with_tagging_system_feature
label_desc: Use image node_id 1 for calling the TestTagsDAO obj's underlying member method code with example usage: obj.insert_tag(name, tag_type) and returns: tag