Package info.archinnov.achilles.test.integration.entity

Examples of info.archinnov.achilles.test.integration.entity.Tweet


  private PersistenceManager manager = resource.getPersistenceManager();

  @Test
  public void should_remove_proxy_from_entity() throws Exception {
    CompleteBean bean = CompleteBeanTestBuilder.builder().randomId().name("Jonathan").buid();
    Tweet tweet = TweetTestBuilder.tweet().randomId().content("tweet").buid();
    bean.setWelcomeTweet(tweet);

    bean = manager.insert(bean);

    bean = manager.removeProxy(bean);
View Full Code Here


    }

    @Test
    public void should_apply_null_heap_byte_buffer() {
        // Given
        Tweet entity = TweetTestBuilder.tweet().randomId().content("label").buid();

        manager.insert(entity);

        final Select.Where select = select().from("Tweet").where(QueryBuilder.eq("id", entity.getId()));
        final ByteBuffer[] values = select.getValues();
        final TypedQuery<Tweet> queryBuilder = manager.typedQuery(Tweet.class, select, values);

        // When
        final Tweet actual = queryBuilder.getFirst();

        // Then
        assertThat(actual).isNotNull();
    }
View Full Code Here

        entity = batch.insert(entity);

        entity.setLabel("label");

        Tweet welcomeTweet = TweetTestBuilder.tweet().randomId().content("welcomeTweet").buid();
        entity.setWelcomeTweet(welcomeTweet);

        entity.getVersion().incr(10L);
        batch.update(entity);
View Full Code Here

    }

    @Test
    public void should_batch_several_entities_async() throws Exception {
        CompleteBean bean = CompleteBeanTestBuilder.builder().randomId().name("name").buid();
        Tweet tweet1 = TweetTestBuilder.tweet().randomId().content("tweet1").buid();
        Tweet tweet2 = TweetTestBuilder.tweet().randomId().content("tweet2").buid();

        final CountDownLatch latch = new CountDownLatch(2);
        final AtomicReference<Object> successSpy = new AtomicReference<>();
        final AtomicReference<Throwable> exceptionSpy = new AtomicReference<>();

        FutureCallback<Object> successCallBack = new FutureCallback<Object>() {
            @Override
            public void onSuccess(Object result) {
                successSpy.getAndSet(result);
                latch.countDown();
            }

            @Override
            public void onFailure(Throwable t) {
                latch.countDown();
            }
        };

        FutureCallback<Object> errorCallBack = new FutureCallback<Object>() {
            @Override
            public void onSuccess(Object result) {
                latch.countDown();
            }

            @Override
            public void onFailure(Throwable t) {
                exceptionSpy.getAndSet(t);
                latch.countDown();
            }
        };

        // Start batch
        AsyncBatch batch = manager.createBatch();
        batch.startBatch();

        batch.insert(bean);
        batch.insert(tweet1);
        batch.insert(tweet2);
        batch.insert(user);

        CompleteBean foundBean = manager.find(CompleteBean.class, bean.getId()).getImmediately();
        Tweet foundTweet1 = manager.find(Tweet.class, tweet1.getId()).getImmediately();
        Tweet foundTweet2 = manager.find(Tweet.class, tweet2.getId()).getImmediately();
        User foundUser = manager.find(User.class, user.getId()).getImmediately();

        assertThat(foundBean).isNull();
        assertThat(foundTweet1).isNull();
        assertThat(foundTweet2).isNull();
        assertThat(foundUser).isNull();

        // Flush
        batch.endBatch(successCallBack, errorCallBack);

        latch.await();

        final ResultSet resultSet = manager.getNativeSession().execute("SELECT id,favoriteTweets,followers,friends,age_in_years,name,welcomeTweet,label,preferences FROM CompleteBean WHERE id=:id", bean.getId());
        assertThat(resultSet.all()).hasSize(1);

        foundBean = manager.find(CompleteBean.class, bean.getId()).getImmediately();
        foundTweet1 = manager.find(Tweet.class, tweet1.getId()).getImmediately();
        foundTweet2 = manager.find(Tweet.class, tweet2.getId()).getImmediately();
        foundUser = manager.find(User.class, user.getId()).getImmediately();

        assertThat(foundBean.getName()).isEqualTo("name");
        assertThat(foundTweet1.getContent()).isEqualTo("tweet1");
        assertThat(foundTweet2.getContent()).isEqualTo("tweet2");
        assertThat(foundUser.getFirstname()).isEqualTo("fn");
        assertThat(foundUser.getLastname()).isEqualTo("ln");
        assertThatBatchContextHasBeenReset(batch);

        assertThat(successSpy.get()).isNotNull().isSameAs(Empty.INSTANCE);
View Full Code Here

        assertThat(exceptionSpy.get()).isNull();
    }

    @Test
    public void should_batch_with_custom_consistency_level_async() throws Exception {
        Tweet tweet1 = TweetTestBuilder.tweet().randomId().content("simple_tweet1").buid();
        Tweet tweet2 = TweetTestBuilder.tweet().randomId().content("simple_tweet2").buid();
        Tweet tweet3 = TweetTestBuilder.tweet().randomId().content("simple_tweet3").buid();

        final CountDownLatch latch = new CountDownLatch(1);
        final AtomicReference<Object> successSpy = new AtomicReference<>();
        FutureCallback<Object> successCallBack = new FutureCallback<Object>() {
            @Override
            public void onSuccess(Object result) {
                successSpy.getAndSet(result);
                latch.countDown();
            }

            @Override
            public void onFailure(Throwable t) {
                latch.countDown();
            }
        };

        manager.insert(tweet1).getImmediately();

        // Start batch
        AsyncBatch batch = manager.createBatch();

        batch.startBatch(QUORUM);

        logAsserter.prepareLogLevel();

        Tweet foundTweet1 = manager.find(Tweet.class, tweet1.getId()).getImmediately();

        assertThat(foundTweet1.getContent()).isEqualTo(tweet1.getContent());

        batch.insert(tweet2);
        batch.insert(tweet3);

        batch.endBatch(successCallBack);
View Full Code Here

        assertThat(successSpy.get()).isSameAs(Empty.INSTANCE);
    }

    @Test
    public void should_reinit_batch_context_and_consistency_after_exception_async() throws Exception {
        Tweet tweet1 = TweetTestBuilder.tweet().randomId().content("simple_tweet1").buid();
        Tweet tweet2 = TweetTestBuilder.tweet().randomId().content("simple_tweet2").buid();

        final CountDownLatch latch = new CountDownLatch(1);
        final AtomicReference<Object> successSpy = new AtomicReference<>();
        FutureCallback<Object> successCallBack = new FutureCallback<Object>() {
            @Override
View Full Code Here

  public static TweetTestBuilder tweet() {
    return new TweetTestBuilder();
  }

  public Tweet buid() {
    Tweet tweet = new Tweet();

    tweet.setId(id);
    tweet.setCreator(creator);
    tweet.setContent(content);
    return tweet;
  }
View Full Code Here

        entity = batch.insert(entity);

        entity.setLabel("label");

        Tweet welcomeTweet = TweetTestBuilder.tweet().randomId().content("welcomeTweet").buid();
        entity.setWelcomeTweet(welcomeTweet);

        entity.getVersion().incr(10L);
        batch.update(entity);
View Full Code Here

    }

    @Test
    public void should_batch_several_entities() throws Exception {
        CompleteBean bean = CompleteBeanTestBuilder.builder().randomId().name("name").buid();
        Tweet tweet1 = TweetTestBuilder.tweet().randomId().content("tweet1").buid();
        Tweet tweet2 = TweetTestBuilder.tweet().randomId().content("tweet2").buid();

        // Start batch
        Batch batch = manager.createBatch();
        batch.startBatch();

        batch.insert(bean);
        batch.insert(tweet1);
        batch.insert(tweet2);
        batch.insert(user);

        CompleteBean foundBean = manager.find(CompleteBean.class, bean.getId());
        Tweet foundTweet1 = manager.find(Tweet.class, tweet1.getId());
        Tweet foundTweet2 = manager.find(Tweet.class, tweet2.getId());
        User foundUser = manager.find(User.class, user.getId());

        assertThat(foundBean).isNull();
        assertThat(foundTweet1).isNull();
        assertThat(foundTweet2).isNull();
        assertThat(foundUser).isNull();

        // Flush
        batch.endBatch();

        final ResultSet resultSet = manager.getNativeSession().execute("SELECT id,favoriteTweets,followers,friends,age_in_years,name,welcomeTweet,label,preferences FROM CompleteBean WHERE id=:id", bean.getId());
        assertThat(resultSet.all()).hasSize(1);

        foundBean = manager.find(CompleteBean.class, bean.getId());
        foundTweet1 = manager.find(Tweet.class, tweet1.getId());
        foundTweet2 = manager.find(Tweet.class, tweet2.getId());
        foundUser = manager.find(User.class, user.getId());

        assertThat(foundBean.getName()).isEqualTo("name");
        assertThat(foundTweet1.getContent()).isEqualTo("tweet1");
        assertThat(foundTweet2.getContent()).isEqualTo("tweet2");
        assertThat(foundUser.getFirstname()).isEqualTo("fn");
        assertThat(foundUser.getLastname()).isEqualTo("ln");
        assertThatBatchContextHasBeenReset(batch);
    }
View Full Code Here

    }

    @Test
    public void should_reinit_batch_context_after_exception() throws Exception {
        User user = UserTestBuilder.user().id(123456494L).firstname("firstname").lastname("lastname").buid();
        Tweet tweet = TweetTestBuilder.tweet().randomId().content("simple_tweet").creator(user).buid();

        user = manager.insert(user);

        // Start batch
        Batch batch = manager.createBatch();
        batch.startBatch();

        boolean exceptionCaught = false;

        try {
            batch.insert(tweet, OptionsBuilder.withConsistency(ConsistencyLevel.EACH_QUORUM));
        } catch (AchillesException e) {
            exceptionCaught = true;
            batch.cleanBatch();
            assertThatBatchContextHasBeenReset(batch);

            assertThat(manager.find(Tweet.class, tweet.getId())).isNull();
        }

        // batch should reinit batch context
        batch.insertOrUpdate(user);
        batch.endBatch();

        User foundUser = manager.find(User.class, user.getId());
        assertThat(foundUser.getFirstname()).isEqualTo("firstname");
        assertThat(foundUser.getLastname()).isEqualTo("lastname");

        batch.insert(tweet);
        batch.endBatch();

        Tweet foundTweet = manager.find(Tweet.class, tweet.getId());
        assertThat(foundTweet.getContent()).isEqualTo("simple_tweet");
        assertThat(foundTweet.getCreator().getId()).isEqualTo(foundUser.getId());
        assertThat(foundTweet.getCreator().getFirstname()).isEqualTo("firstname");
        assertThat(foundTweet.getCreator().getLastname()).isEqualTo("lastname");
        assertThatBatchContextHasBeenReset(batch);
    }
View Full Code Here

TOP

Related Classes of info.archinnov.achilles.test.integration.entity.Tweet

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.