< prev index next >

application/tests/org.openjdk.jmc.rjmx.services.jfr.test/src/test/java/org/openjdk/jmc/rjmx/services/jfr/test/RecordingOptionsTest.java

Print this page

        

*** 77,87 **** } @Test public void testValidateOption() throws Exception { RecordingOptionsBuilder builder = new RecordingOptionsBuilder(getFlightRecorderService()); ! builder.addByKey(RecordingOptionsBuilder.KEY_DURATION, "20s"); //$NON-NLS-1$ IConstrainedMap<String> options = builder.build(); try { ValidationToolkit.validate(options); } catch (Exception e) { throw e; --- 77,87 ---- } @Test public void testValidateOption() throws Exception { RecordingOptionsBuilder builder = new RecordingOptionsBuilder(getFlightRecorderService()); ! builder.addByKey(RecordingOptionsBuilder.KEY_DURATION, "20s"); IConstrainedMap<String> options = builder.build(); try { ValidationToolkit.validate(options); } catch (Exception e) { throw e;
*** 92,135 **** public void testValidateInvalidOption() throws Exception { IFlightRecorderService service = getFlightRecorderService(); IMutableConstrainedMap<String> options = service.getDefaultRecordingOptions().emptyWithSameConstraints(); try { // Not allowed to put string representations directly in options map anymore. ! options.put(RecordingOptionsBuilder.KEY_DURATION, "20s"); //$NON-NLS-1$ fail("Expected exception to be thrown for invalid options"); } catch (Exception expected) { } ValidationToolkit.validate(options); } @Test public void testStringOptions() throws Exception { RecordingOptionsBuilder builder = new RecordingOptionsBuilder(getFlightRecorderService()); ! builder.addByKey(RecordingOptionsBuilder.KEY_DURATION, "20s"); //$NON-NLS-1$ IConstrainedMap<String> map = builder.build(); assertSame(SECOND.quantity(20), (IQuantity) map.get(RecordingOptionsBuilder.KEY_DURATION)); } @Test public void testCreateOptionsMapFromStrings() throws Exception { Properties props = new Properties(); IFlightRecorderService service = getFlightRecorderService(); RecordingOptionsBuilder builder = new RecordingOptionsBuilder(service); boolean hasCompressed = "1.0".equals(service.getVersion()); ! props.put(RecordingOptionsBuilder.KEY_DURATION, "45 ms"); //$NON-NLS-1$ Date myDate = new Date(); if (hasCompressed) { ! props.put(RecordingOptionsBuilder.KEY_DESTINATION_FILE, "myfile"); //$NON-NLS-1$ ! props.put(RecordingOptionsBuilder.KEY_DESTINATION_COMPRESSED, "true"); //$NON-NLS-1$ // FIXME: Do we really want to support parsing Date.toString() format? // props.put(RecordingOptionsBuilder.KEY_START_TIME, myDate.toString()); props.put(RecordingOptionsBuilder.KEY_START_TIME, Long.toString(myDate.getTime())); } IConstrainedMap<String> options = builder.fromProperties(props).build(); assertSame(MILLISECOND.quantity(45), (IQuantity) options.get(RecordingOptionsBuilder.KEY_DURATION)); if (hasCompressed) { ! assertEquals("myfile", options.get(RecordingOptionsBuilder.KEY_DESTINATION_FILE)); //$NON-NLS-1$ assertEquals(Boolean.TRUE, options.get(RecordingOptionsBuilder.KEY_DESTINATION_COMPRESSED)); assertSame(UnitLookup.fromDate(myDate), (IQuantity) options.get(RecordingOptionsBuilder.KEY_START_TIME)); } } } --- 92,135 ---- public void testValidateInvalidOption() throws Exception { IFlightRecorderService service = getFlightRecorderService(); IMutableConstrainedMap<String> options = service.getDefaultRecordingOptions().emptyWithSameConstraints(); try { // Not allowed to put string representations directly in options map anymore. ! options.put(RecordingOptionsBuilder.KEY_DURATION, "20s"); fail("Expected exception to be thrown for invalid options"); } catch (Exception expected) { } ValidationToolkit.validate(options); } @Test public void testStringOptions() throws Exception { RecordingOptionsBuilder builder = new RecordingOptionsBuilder(getFlightRecorderService()); ! builder.addByKey(RecordingOptionsBuilder.KEY_DURATION, "20s"); IConstrainedMap<String> map = builder.build(); assertSame(SECOND.quantity(20), (IQuantity) map.get(RecordingOptionsBuilder.KEY_DURATION)); } @Test public void testCreateOptionsMapFromStrings() throws Exception { Properties props = new Properties(); IFlightRecorderService service = getFlightRecorderService(); RecordingOptionsBuilder builder = new RecordingOptionsBuilder(service); boolean hasCompressed = "1.0".equals(service.getVersion()); ! props.put(RecordingOptionsBuilder.KEY_DURATION, "45 ms"); Date myDate = new Date(); if (hasCompressed) { ! props.put(RecordingOptionsBuilder.KEY_DESTINATION_FILE, "myfile"); ! props.put(RecordingOptionsBuilder.KEY_DESTINATION_COMPRESSED, "true"); // FIXME: Do we really want to support parsing Date.toString() format? // props.put(RecordingOptionsBuilder.KEY_START_TIME, myDate.toString()); props.put(RecordingOptionsBuilder.KEY_START_TIME, Long.toString(myDate.getTime())); } IConstrainedMap<String> options = builder.fromProperties(props).build(); assertSame(MILLISECOND.quantity(45), (IQuantity) options.get(RecordingOptionsBuilder.KEY_DURATION)); if (hasCompressed) { ! assertEquals("myfile", options.get(RecordingOptionsBuilder.KEY_DESTINATION_FILE)); assertEquals(Boolean.TRUE, options.get(RecordingOptionsBuilder.KEY_DESTINATION_COMPRESSED)); assertSame(UnitLookup.fromDate(myDate), (IQuantity) options.get(RecordingOptionsBuilder.KEY_START_TIME)); } } }
< prev index next >