private ExecutableFlow waitFlowFinished(final ExecutableFlow flow) throws Exception { azkaban.test.TestUtils.await().untilAsserted(() -> assertThat(getFlowStatus(flow)) .matches(Status::isStatusFinished, "isStatusFinished")); return fetchFlow(flow); }
@Test void userReIndexShouldBeWellPerformed() throws Exception { MailboxSession systemSession = mailboxManager.createSystemSession(USERNAME); MailboxId mailboxId = mailboxManager.createMailbox(INBOX, systemSession).get(); ComposedMessageId createdMessage = mailboxManager.getMailbox(INBOX, systemSession) .appendMessage( MessageManager.AppendCommand.builder().build("header: value\r\n\r\nbody"), systemSession); reIndexer.reIndex(User.fromUsername(USERNAME)).run(); ArgumentCaptor<MailboxMessage> messageCaptor = ArgumentCaptor.forClass(MailboxMessage.class); ArgumentCaptor<Mailbox> mailboxCaptor1 = ArgumentCaptor.forClass(Mailbox.class); ArgumentCaptor<Mailbox> mailboxCaptor2 = ArgumentCaptor.forClass(Mailbox.class); verify(messageSearchIndex).deleteAll(any(MailboxSession.class), mailboxCaptor1.capture()); verify(messageSearchIndex).add(any(MailboxSession.class), mailboxCaptor2.capture(), messageCaptor.capture()); verifyNoMoreInteractions(messageSearchIndex); assertThat(mailboxCaptor1.getValue()).matches(mailbox -> mailbox.getMailboxId().equals(mailboxId)); assertThat(mailboxCaptor2.getValue()).matches(mailbox -> mailbox.getMailboxId().equals(mailboxId)); assertThat(messageCaptor.getValue()).matches(message -> message.getMailboxId().equals(mailboxId) && message.getUid().equals(createdMessage.getUid())); }
@Test void reIndexShouldBeWellPerformed() throws Exception { MailboxSession systemSession = mailboxManager.createSystemSession(USERNAME); MailboxId mailboxId = mailboxManager.createMailbox(INBOX, systemSession).get(); ComposedMessageId createdMessage = mailboxManager.getMailbox(INBOX, systemSession) .appendMessage( MessageManager.AppendCommand.builder().build("header: value\r\n\r\nbody"), systemSession); reIndexer.reIndex(INBOX).run(); ArgumentCaptor<MailboxMessage> messageCaptor = ArgumentCaptor.forClass(MailboxMessage.class); ArgumentCaptor<Mailbox> mailboxCaptor1 = ArgumentCaptor.forClass(Mailbox.class); ArgumentCaptor<Mailbox> mailboxCaptor2 = ArgumentCaptor.forClass(Mailbox.class); verify(messageSearchIndex).deleteAll(any(MailboxSession.class), mailboxCaptor1.capture()); verify(messageSearchIndex).add(any(MailboxSession.class), mailboxCaptor2.capture(), messageCaptor.capture()); verifyNoMoreInteractions(messageSearchIndex); assertThat(mailboxCaptor1.getValue()).matches(mailbox -> mailbox.getMailboxId().equals(mailboxId)); assertThat(mailboxCaptor2.getValue()).matches(mailbox -> mailbox.getMailboxId().equals(mailboxId)); assertThat(messageCaptor.getValue()).matches(message -> message.getMailboxId().equals(mailboxId) && message.getUid().equals(createdMessage.getUid())); }
@Test void mailboxPathUserShouldBeUsedWhenReIndexing() throws Exception { MailboxSession systemSession = mailboxManager.createSystemSession(USERNAME); MailboxId mailboxId = mailboxManager.createMailbox(INBOX, systemSession).get(); ComposedMessageId createdMessage = mailboxManager.getMailbox(INBOX, systemSession) .appendMessage( MessageManager.AppendCommand.builder().build("header: value\r\n\r\nbody"), systemSession); reIndexer.reIndex().run(); ArgumentCaptor<MailboxMessage> messageCaptor = ArgumentCaptor.forClass(MailboxMessage.class); ArgumentCaptor<Mailbox> mailboxCaptor1 = ArgumentCaptor.forClass(Mailbox.class); ArgumentCaptor<Mailbox> mailboxCaptor2 = ArgumentCaptor.forClass(Mailbox.class); verify(messageSearchIndex).deleteAll(any(MailboxSession.class), mailboxCaptor1.capture()); verify(messageSearchIndex).add(any(MailboxSession.class), mailboxCaptor2.capture(), messageCaptor.capture()); verifyNoMoreInteractions(messageSearchIndex); assertThat(mailboxCaptor1.getValue()).matches(mailbox -> mailbox.getMailboxId().equals(mailboxId)); assertThat(mailboxCaptor2.getValue()).matches(mailbox -> mailbox.getMailboxId().equals(mailboxId)); assertThat(messageCaptor.getValue()).matches(message -> message.getMailboxId().equals(mailboxId) && message.getUid().equals(createdMessage.getUid())); }
@Test void reIndexShouldBeWellPerformed() throws Exception { MailboxSession systemSession = mailboxManager.createSystemSession(USERNAME); MailboxId mailboxId = mailboxManager.createMailbox(INBOX, systemSession).get(); ComposedMessageId createdMessage = mailboxManager.getMailbox(INBOX, systemSession) .appendMessage( MessageManager.AppendCommand.builder().build("header: value\r\n\r\nbody"), systemSession); reIndexer.reIndex(createdMessage.getMessageId()).run(); ArgumentCaptor<MailboxMessage> messageCaptor = ArgumentCaptor.forClass(MailboxMessage.class); ArgumentCaptor<Mailbox> mailboxCaptor = ArgumentCaptor.forClass(Mailbox.class); verify(messageSearchIndex).add(any(MailboxSession.class), mailboxCaptor.capture(), messageCaptor.capture()); verifyNoMoreInteractions(messageSearchIndex); assertThat(mailboxCaptor.getValue()).matches(mailbox -> mailbox.getMailboxId().equals(mailboxId)); assertThat(messageCaptor.getValue()).matches(message -> message.getComposedMessageIdWithMetaData().getComposedMessageId().getMessageId() .equals(createdMessage.getMessageId())); }
@Test void messageReIndexShouldBeWellPerformed() throws Exception { MailboxSession systemSession = mailboxManager.createSystemSession(USERNAME); MailboxId mailboxId = mailboxManager.createMailbox(INBOX, systemSession).get(); ComposedMessageId createdMessage = mailboxManager.getMailbox(INBOX, systemSession) .appendMessage( MessageManager.AppendCommand.builder().build("header: value\r\n\r\nbody"), systemSession); reIndexer.reIndex(INBOX, createdMessage.getUid()).run(); ArgumentCaptor<MailboxMessage> messageCaptor = ArgumentCaptor.forClass(MailboxMessage.class); ArgumentCaptor<Mailbox> mailboxCaptor = ArgumentCaptor.forClass(Mailbox.class); verify(messageSearchIndex).add(any(MailboxSession.class), mailboxCaptor.capture(), messageCaptor.capture()); verifyNoMoreInteractions(messageSearchIndex); assertThat(mailboxCaptor.getValue()).matches(mailbox -> mailbox.getMailboxId().equals(mailboxId)); assertThat(messageCaptor.getValue()).matches(message -> message.getMailboxId().equals(mailboxId) && message.getUid().equals(createdMessage.getUid())); } }
@Test void setProperties() throws IOException { final Properties p = new Properties(); Stream.of(Settings.Key.values()).forEach(v -> p.setProperty(v.getName(), "1000")); final File f = File.createTempFile("robozonky-", ".properties"); p.store(new FileWriter(f), "Testing properties"); System.setProperty(Settings.FILE_LOCATION_PROPERTY, f.getAbsolutePath()); assertSoftly(softly -> { softly.assertThat(Settings.INSTANCE.get("user.dir", "")).isNotEqualTo(""); softly.assertThat(Settings.INSTANCE.get(UUID.randomUUID().toString(), "")) .isEqualTo(""); softly.assertThat(Settings.INSTANCE.isDebugHttpResponseLoggingEnabled()).isFalse(); softly.assertThat(Settings.INSTANCE.getRemoteResourceRefreshInterval()) .matches(new SettingsTest.TemporalPredicate(1000 * 60)); softly.assertThat(Settings.INSTANCE.getCaptchaDelay()) .matches(new SettingsTest.TemporalPredicate(1000)); Stream.of(Rating.values()) .forEach(r -> softly.assertThat(Settings.INSTANCE.getCaptchaDelay(r)) .matches(new TemporalPredicate(1000))); softly.assertThat(Settings.INSTANCE.getDryRunBalanceMinimum()).isEqualTo(1000); softly.assertThat(Settings.INSTANCE.getSocketTimeout()) .matches(new SettingsTest.TemporalPredicate(1000)); softly.assertThat(Settings.INSTANCE.getConnectionTimeout()) .matches(new SettingsTest.TemporalPredicate(1000)); softly.assertThat(Settings.INSTANCE.getDefaultApiPageSize()).isEqualTo(1000); softly.assertThat(Settings.INSTANCE.getHttpsProxyPort()).isEqualTo(1000); softly.assertThat(Settings.INSTANCE.getHttpsProxyHostname()).contains("1000"); }); }
@Test void defaultProperties() { assertSoftly(softly -> { softly.assertThat(Settings.INSTANCE.get("user.dir", "")).isNotEqualTo(""); softly.assertThat(Settings.INSTANCE.get(UUID.randomUUID().toString(), "")) .isEqualTo(""); softly.assertThat(Settings.INSTANCE.getRemoteResourceRefreshInterval()) .matches(new SettingsTest.TemporalPredicate(5 * 60)); softly.assertThat(Settings.INSTANCE.getCaptchaDelay()) .matches(new SettingsTest.TemporalPredicate(0)); Stream.of(Rating.values()) .forEach(r -> softly.assertThat(Settings.INSTANCE.getCaptchaDelay(r)) .as(r.toString()) .matches(new TemporalPredicate(0))); softly.assertThat(Settings.INSTANCE.getDryRunBalanceMinimum()).isEqualTo(-1); softly.assertThat(Settings.INSTANCE.getSocketTimeout()) .matches(new SettingsTest.TemporalPredicate(60)); softly.assertThat(Settings.INSTANCE.getConnectionTimeout()) .matches(new SettingsTest.TemporalPredicate(60)); softly.assertThat(Settings.INSTANCE.getDefaultApiPageSize()).isEqualTo(50); softly.assertThat(Settings.INSTANCE.getHttpsProxyPort()).isEqualTo(443); softly.assertThat(Settings.INSTANCE.getHttpsProxyHostname()).isEmpty(); }); }