class_docstr: Negative test cases of alias interface operations
class_docstr_tok: ["Negative","test","cases","of","alias","interface","operations"]
docstr: target: test two collections creating alias with same name
  method: 
          1.create a collection_1 with alias name alias_a
          2.create a collection_2 also with alias name alias_a
  expected: 
          in step 2, creating alias with a duplication name is not allowed
docstr_tok: ["target",":","test","two","collections","creating","alias","with","same","name","method",":","1.create","a","collection_1","with","alias","name","alias_a","2.create","a","collection_2","also","with","alias","name","alias_a","expected",":","in","step","2",",","creating","alias","with","a","duplication","name","is","not","allowed"]
code: def test_alias_create_duplication_alias(self):
      """
      target: test two collections creating alias with same name
      method:
              1.create a collection_1 with alias name alias_a
              2.create a collection_2 also with alias name alias_a
      expected:
              in step 2, creating alias with a duplication name is not allowed
      """
      self._connect()
      c_1_name = cf.gen_unique_str("collection")
      collection_1 = self.init_collection_wrap(
          name=c_1_name,
          schema=default_schema,
          check_task=CheckTasks.check_collection_property,
          check_items={exp_name: c_1_name, exp_schema: default_schema},
      )
      alias_a_name = cf.gen_unique_str(prefix)
      self.utility_wrap.create_alias(collection_1.name, alias_a_name)
      # collection_1.create_alias(alias_a_name)
  
      c_2_name = cf.gen_unique_str("collection")
      collection_2 = self.init_collection_wrap(
          name=c_2_name,
          schema=default_schema,
          check_task=CheckTasks.check_collection_property,
          check_items={exp_name: c_2_name, exp_schema: default_schema},
      )
      error = {
          ct.err_code: 1602,
          ct.err_msg: f"alias exists and already aliased to another collection, alias: {alias_a_name}, "
          f"collection: {c_1_name}, other collection: {c_2_name}",
      }
      self.utility_wrap.create_alias(
          collection_2.name,
          alias_a_name,
          check_task=CheckTasks.err_res,
          check_items=error,
      )
  
imports: import pytest
  import random
  from base.client_base import TestcaseBase
  from utils.util_log import test_log
  from common import common_func
  from common import common_type
  from common.common_type import CaseLabel, CheckTasks
label_desc: Use image node_id 1 for calling the TestAliasOperationInvalid obj's underlying member method code with example usage: obj.test_alias_create_duplication_alias() without return types