Exemplo n.º 1
0
  @Test
  public void testEntityManager() throws Exception {
    LOG.info("EntityManagerIT.testEntityManagerTest");

    UUID applicationId = setup.createApplication("testOrganization", "testEntityManagerTest");
    assertNotNull(applicationId);

    EntityManager em = setup.getEmf().getEntityManager(applicationId);
    assertNotNull(em);

    Map<String, Object> properties = new LinkedHashMap<String, Object>();
    properties.put("username", "edanuff");
    properties.put("email", "*****@*****.**");

    Entity user = em.create("user", properties);
    assertNotNull(user);

    user = em.get(user);
    assertNotNull(user);
    assertEquals("user.username not expected value", "edanuff", user.getProperty("username"));
    assertEquals("user.email not expected value", "*****@*****.**", user.getProperty("email"));

    EntityRef userRef = em.getAlias(applicationId, "user", "edanuff");
    assertNotNull(userRef);
    assertEquals("userRef.id not expected value", user.getUuid(), userRef.getUuid());
    assertEquals("userRef.type not expected value", "user", userRef.getType());

    LOG.info("user.username: "******"username"));
    LOG.info("user.email: " + user.getProperty("email"));

    Results results =
        em.searchCollection(
            em.getApplicationRef(), "users", new Query().addEqualityFilter("username", "edanuff"));
    assertNotNull(results);
    assertEquals(1, results.size());
    user = results.getEntity();
    assertNotNull(user);
    assertEquals("user.username not expected value", "edanuff", user.getProperty("username"));
    assertEquals("user.email not expected value", "*****@*****.**", user.getProperty("email"));

    LOG.info("user.username: "******"username"));
    LOG.info("user.email: " + user.getProperty("email"));

    results =
        em.searchCollection(
            em.getApplicationRef(),
            "users",
            new Query().addEqualityFilter("email", "*****@*****.**"));
    assertNotNull(results);
    assertEquals(1, results.size());
    user = results.getEntity();
    assertNotNull(user);
    assertEquals("user.username not expected value", "edanuff", user.getProperty("username"));
    assertEquals("user.email not expected value", "*****@*****.**", user.getProperty("email"));

    LOG.info("user.username: "******"username"));
    LOG.info("user.email: " + user.getProperty("email"));
  }
Exemplo n.º 2
0
  @Test
  public void testCreateAndDeleteUser() throws Exception {
    LOG.info("EntityDaoTest.testCreateAndDeleteUser");

    UUID applicationId = setup.createApplication("testOrganization", "testCreateAndDeleteUser");

    EntityManager em = setup.getEmf().getEntityManager(applicationId);

    String name = "test.thing" + UUIDUtils.newTimeUUID();

    Map<String, Object> properties = new LinkedHashMap<String, Object>();
    properties.put("username", name);
    properties.put("foo", "bar");

    LOG.info("Starting entity create");
    Entity user = em.create("user", properties);
    LOG.info("Entity created");

    LOG.info("Starting entity delete");
    em.delete(user);
    LOG.info("Entity deleted");

    // now search by username, no results should be returned

    Results r =
        em.searchCollection(
            em.getApplicationRef(), "users", new Query().addEqualityFilter("username", name));

    assertEquals(0, r.size());

    // now re-create a new user with the same username

    properties = new LinkedHashMap<String, Object>();
    properties.put("username", name);
    properties.put("foo", "bar");

    LOG.info("Starting entity create");
    user = em.create("user", properties);
    LOG.info("Entity created");

    r =
        em.searchCollection(
            em.getApplicationRef(), "users", new Query().addEqualityFilter("username", name));

    assertEquals(1, r.size());

    assertEquals(user.getUuid(), r.getEntity().getUuid());
  }
  @Test
  public void testDeletes() throws Exception {
    EntityManager entityManager = this.app.getEntityManager();
    Map<String, Object> map = new HashMap<>();
    for (int i = 0; i < 10; i++) {
      map.put("somekey", UUID.randomUUID());
      Entity entity = entityManager.create("tests", map);
    }
    this.app.refreshIndex();
    Thread.sleep(500);
    ApplicationScope appScope = CpNamingUtils.getApplicationScope(entityManager.getApplicationId());
    Observable<Id> ids = this.app.getApplicationService().deleteAllEntities(appScope, 5);
    int count = ids.count().toBlocking().last();
    Assert.assertEquals(count, 5);
    ids = this.app.getApplicationService().deleteAllEntities(appScope, 5);
    count = ids.count().toBlocking().last();
    Assert.assertEquals(count, 5);
    this.app.refreshIndex();
    Thread.sleep(5000);
    Injector injector = SpringResource.getInstance().getBean(Injector.class);
    GraphManagerFactory factory = injector.getInstance(GraphManagerFactory.class);
    GraphManager graphManager = factory.createEdgeManager(appScope);
    SimpleSearchByEdgeType simpleSearchByEdgeType =
        new SimpleSearchByEdgeType(
            appScope.getApplication(),
            CpNamingUtils.getEdgeTypeFromCollectionName("tests"),
            Long.MAX_VALUE,
            SearchByEdgeType.Order.DESCENDING,
            Optional.<Edge>absent());

    Iterator<Edge> results =
        graphManager.loadEdgesFromSource(simpleSearchByEdgeType).toBlocking().getIterator();
    if (results.hasNext()) {
      Assert.fail("should be empty");

    } else {
      Results searchCollection =
          entityManager.searchCollection(entityManager.getApplication(), "tests", Query.all());
      Assert.assertEquals(searchCollection.size(), 0);
      AggregationServiceFactory aggregationServiceFactory =
          injector.getInstance(AggregationServiceFactory.class);
      long size =
          aggregationServiceFactory.getAggregationService().getCollectionSize(appScope, "tests");
      Assert.assertEquals(size, 0);
      // success
    }
  }
Exemplo n.º 4
0
  @Test
  public void testCreateAndList() throws Exception {
    LOG.info("EntityDaoTest.testCreateAndDelete");

    UUID applicationId = setup.createApplication("testOrganization", "testCreateAndList");

    EntityManager em = setup.getEmf().getEntityManager(applicationId);

    String name = "test.thing" + UUIDUtils.newTimeUUID() + 1;

    Map<String, Object> properties = new LinkedHashMap<String, Object>();
    properties.put("name", name);
    properties.put("foo", "bar");

    LOG.info("Starting entity create");
    Entity thing1 = em.create("thing", properties);
    LOG.info("Entity created");

    String name2 = "test.thing" + UUIDUtils.newTimeUUID() + 2;

    properties = new LinkedHashMap<String, Object>();
    properties.put("name", name2);
    properties.put("foo", "bar");

    LOG.info("Starting entity create");
    Entity thing2 = em.create("thing", properties);
    LOG.info("Entity created");

    // now search by username, no results should be returned

    EntityRef appRef = em.getRef(applicationId);

    Results r = em.getCollection(appRef, "things", null, 10, Level.ALL_PROPERTIES, false);

    assertEquals(2, r.size());

    assertEquals(thing1.getUuid(), r.getEntities().get(0).getUuid());
    assertEquals(thing2.getUuid(), r.getEntities().get(1).getUuid());
  }