@Test
  public void alias_TagsByAlias() throws Exception {
    cleanUpGraph();
    SystemUser su = registerSystemUser("alias_Simple");
    Fortress fortress =
        fortressService.registerFortress(
            su.getCompany(), new FortressInputBean("alias_Simple", true));

    TagInputBean tagInput = new TagInputBean("TagA", "AliasTest", "rlxA");

    EntityInputBean inputBean =
        new EntityInputBean(fortress, "*****@*****.**", "CompanyNode", DateTime.now(), "AAA");
    inputBean.addTag(tagInput);
    // Creating the tag for an entity
    mediationFacade.trackEntity(su.getCompany(), inputBean).getEntity();

    Tag tag = tagService.findTag(su.getCompany(), null, tagInput.getCode());
    assertNotNull(tag);

    // The above is the setup.

    // Alias nodes are not stored in the _Tag bucket; then are connected to a _Tag. Since we're not
    // searching by a Tag type(Label)
    // we can't find JUST by the Alias.key

    // Now create an alias for TagA such that when we track a new entity with zzz as the tag value
    // the entity will be mapped to TagA
    tagService.createAlias(su.getCompany(), tag, "AliasTest", "zzz");

    // Make sure creating it twice doesn't cause an error
    tagService.createAlias(su.getCompany(), tag, "AliasTest", "zzz");

    // An alias exists for this tag that points to TagA.
    tagInput = new TagInputBean("zzz", "AliasTest", "rlxA");
    inputBean =
        new EntityInputBean(fortress, "*****@*****.**", "CompanyNode", DateTime.now(), "BBB");
    inputBean.addTag(tagInput);
    mediationFacade.trackEntity(su.getCompany(), inputBean).getEntity();
    Tag aliasTag = tagService.findTag(su.getCompany(), "AliasTest", null, "zzz");
    assertNotNull(aliasTag);
    assertEquals(
        "The call to find tag with an alias should find the aliased tag",
        tag.getId(),
        aliasTag.getId());

    assertEquals(
        "Couldn't find via case-insensitive check",
        2,
        entityTagService.findEntityTags(su.getCompany(), tag.getCode().toLowerCase()).size());
    assertEquals(
        "Couldn't find via case-insensitive check",
        2,
        entityTagService.findEntityTags(su.getCompany(), tag.getCode().toUpperCase()).size());
  }
  //    @Test
  // @Repeat(value = 1)
  public void entitiesUnderLoad() throws Exception {
    // This test suffered under DAT-348 and was quarantined.
    String companyName = "entitiesUnderLoad";
    setSecurity();
    SystemUser su = registerSystemUser(companyName, "entitiesUnderLoad");

    Fortress fortress =
        fortressService.registerFortress(
            su.getCompany(), new FortressInputBean("entitiesUnderLoad", true));
    String docType = "entitiesUnderLoad";

    int tagCount = 1; // unique tags per entity - tags are shared across the entities
    int docCount = 1; // how many entities to create per thread
    // Tried reducing threadMax
    int threadMax = 3; // Each thread will create a unique document type
    ArrayList<TagInputBean> tags = getTags(tagCount, false);

    Collection<Tag> createdTags =
        tagService.findTags(fortress.getCompany(), tags.get(0).getLabel());
    assertEquals("Database is not in a cleared down state", 0, createdTags.size());

    Map<Integer, EntityRunner> runners = new HashMap<>();

    CountDownLatch latch = new CountDownLatch(threadMax);
    CountDownLatch startSignal = new CountDownLatch(1);
    for (int thread = 0; thread < threadMax; thread++) {
      EntityRunner runner =
          addEntityRunner(
              thread + 1,
              su,
              fortress,
              docType,
              "ABC" + thread,
              docCount,
              tags,
              latch,
              startSignal);
      runners.put(thread, runner);
    }
    startSignal.countDown();
    latch.await();
    Tag found = null;

    for (int thread = 0; thread < threadMax; thread++) {
      assertEquals("Thread " + (thread + 1), true, runners.get(thread).isWorked());
      for (int count = 0; count < docCount; count++) {
        // Thread.sleep(2000);
        Entity entity =
            entityService.findByCode(
                su.getCompany(), fortress.getName(), docType, "ABC" + thread + "" + count);
        assertNotNull(entity);
        Collection<EntityTag> entityTags = entityTagService.findEntityTags(entity);
        if (entityTags.size() == 0) {
          logger.debug("Why is this 0?");
        }
        assertEquals(tagCount, entityTags.size());
        // Make sure every thread's tags point to the same tag
        if (found == null) found = entityTags.iterator().next().getTag();
        else
          assertEquals(
              found.toString() + " / " + entityTags.iterator().next().getTag().toString(),
              found.getId(),
              entityTags.iterator().next().getTag().getId());
      }
    }
    assertNotNull(
        tagService.findTag(fortress.getCompany(), "Deadlock", null, tags.get(0).getCode()));

    createdTags = tagService.findTags(fortress.getCompany(), "Deadlock");
    assertEquals(false, createdTags.isEmpty());
    if (createdTags.size() != tagCount) {

      for (Tag createdTag : createdTags) {
        // logger.info(createdTag.toString());
        logger.info("Finding... {}", createdTag.toString());
        Tag xtra =
            tagService.findTag(su.getCompany(), createdTag.getLabel(), null, createdTag.getCode());

        logger.info(xtra.toString());
      }
    }
    assertEquals(tagCount, createdTags.size());
  }