/** * Converts a profile with options. * * @throws Exception if failed */ @Test public void convert_options() throws Exception { ProcessProfile profile = profile( KEY_RETRY_COUNT, "10", KEY_RETRY_INTERVAL, "1000", KEY_COMPONENT, DummyProcess.class.getName(), PREFIX_COMPONENT + "hello1", "world1", PREFIX_COMPONENT + "hello2", "world2", PREFIX_COMPONENT + "hello3", "world3"); RetryableProcessProfile result = RetryableProcessProfile.convert(profile); assertThat(result.getRetryCount(), is(10)); assertThat(result.getRetryInterval(), is(1000L)); assertThat(result.getComponent(), instanceOf(DummyProcess.class)); ProcessProfile inner = ((DummyProcess) result.getComponent()).inner; assertThat(inner.getName(), is(not(profile.getName()))); assertThat( inner.getConfiguration(), is( map( "hello1", "world1", "hello2", "world2", "hello3", "world3"))); }
/** * Attempts to convert profile without retry count. * * @throws Exception if failed */ @Test public void convert_count_unknown() throws Exception { ProcessProfile profile = profile(KEY_COMPONENT, DummyProcess.class.getName()); try { RetryableProcessProfile.convert(profile); fail(); } catch (IllegalArgumentException e) { // ok. } }
/** * Attempts to convert profile with invalid component provider class. * * @throws Exception if failed */ @Test public void convert_component_invalid() throws Exception { ProcessProfile profile = profile(KEY_RETRY_COUNT, "1", KEY_COMPONENT, String.class.getName()); try { RetryableProcessProfile.convert(profile); fail(); } catch (IllegalArgumentException e) { // ok. } }
/** * Attempts to convert profile without component provider class. * * @throws Exception if failed */ @Test public void convert_component_missing() throws Exception { ProcessProfile profile = profile(KEY_RETRY_COUNT, "1"); try { RetryableProcessProfile.convert(profile); fail(); } catch (IllegalArgumentException e) { // ok. } }
/** * Attempts to convert profile with invalid retry interval. * * @throws Exception if failed */ @Test public void convert_interval_illeval() throws Exception { ProcessProfile profile = profile(KEY_RETRY_INTERVAL, "-1", KEY_COMPONENT, DummyProcess.class.getName()); try { RetryableProcessProfile.convert(profile); fail(); } catch (IllegalArgumentException e) { // ok. } }
/** * Converts simple profile. * * @throws Exception if failed */ @Test public void convert_simple() throws Exception { ProcessProfile profile = profile(KEY_RETRY_COUNT, "1", KEY_COMPONENT, DummyProcess.class.getName()); RetryableProcessProfile result = RetryableProcessProfile.convert(profile); assertThat(result.getRetryCount(), is(1)); assertThat(result.getRetryInterval(), is(DEFAULT_RETRY_INTERVAL)); assertThat(result.getComponent(), instanceOf(DummyProcess.class)); ProcessProfile inner = ((DummyProcess) result.getComponent()).inner; assertThat(inner.getName(), is(not(profile.getName()))); assertThat(inner.getConfiguration(), is(map())); }
/** * Attempts to convert profile with invalid component provider class. * * @throws Exception if failed */ @Test public void convert_component_unknown() throws Exception { ProcessProfile profile = profile( KEY_RETRY_COUNT, "1", KEY_COMPONENT, "__UNKNOWN__"); try { RetryableProcessProfile.convert(profile); fail(); } catch (IllegalArgumentException e) { // ok. } }