def test_list_column_types(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

    res = epidb.create_column_type_simple("name", "description", "string", self.admin_key)
    self.assertSuccess(res)
    res = epidb.create_column_type_simple("string_column", "description", "string", self.admin_key)
    self.assertSuccess(res)
    res = epidb.create_column_type_simple("integer_column", "description", "integer", self.admin_key)
    self.assertSuccess(res)
    res = epidb.create_column_type_simple("double_column", "description", "double", self.admin_key)
    self.assertSuccess(res)
    res = epidb.create_column_type_range("score", "description", 0.0, 1.0, self.admin_key)
    self.assertSuccess(res)
    strand = ["+", "-"]
    res = epidb.create_column_type_category("STRAND", "description", strand, self.admin_key)
    self.assertSuccess(res)

    res, column_types = epidb.list_column_types(self.admin_key)
    self.assertSuccess(res, column_types)

    self.assertEqual(column_types[0][1], "column type name: 'CHROMOSOME' type: 'string'")
    self.assertEqual(column_types[1][1], "column type name: 'START' type: 'integer'")
    self.assertEqual(column_types[2][1], "column type name: 'END' type: 'integer'")
    self.assertEqual(column_types[3][1], "column type name: 'VALUE' type: 'double'")
    self.assertEqual(column_types[4][1], "column type name: 'GTF_SCORE' type: 'string'")
    self.assertEqual(column_types[5][1], "column type name: 'FEATURE' type: 'string'")
    self.assertEqual(column_types[6][1], "column type name: 'SOURCE' type: 'string'")
    self.assertEqual(column_types[7][1], "column type name: 'FRAME' type: 'string'")
    self.assertEqual(column_types[8][1], "column type name: 'GTF_ATTRIBUTES' type: 'string'")
    self.assertEqual(column_types[9][1], "column type name: 'TRACKING_ID' type: 'string'")
  def test_no_ignore_if(self):
    epidb = DeepBlueClient(address="localhost", port=31415)
    self.init(epidb)

    res = epidb.create_column_type_simple("name", "description", "string", self.admin_key)
    self.assertSuccess(res)
    res = epidb.create_column_type_simple("string_column", "description", "string", self.admin_key)
    self.assertSuccess(res)

    res, column_types = epidb.list_column_types(self.admin_key)
    self.assertSuccess(res, column_types)

    self.assertEqual(column_types[0][1], "column type name: 'CHROMOSOME' type: 'string'")
    self.assertEqual(column_types[1][1], "column type name: 'START' type: 'integer'")
    self.assertEqual(column_types[2][1], "column type name: 'END' type: 'integer'")
    self.assertEqual(column_types[3][1], "column type name: 'VALUE' type: 'double'")
    self.assertEqual(column_types[4][1], "column type name: 'GTF_SCORE' type: 'string'")
    self.assertEqual(column_types[5][1], "column type name: 'FEATURE' type: 'string'")