@Test public void testTraceAndMeasureJoinPointWithLoggerDontPrint() { ApplyTraceAspect.printReturnValue = false; FakeClassWithAspect.SERVICE_LOGGER.setLevel( Level.FINER ); classWithAspect.methodWithServiceLogger(); // expect an exit log List<LogRecord> logRecordList = serviceLoggerlogHandler.logRecordList; assertEquals( 2, logRecordList.size() ); LogRecord logRecord = logRecordList.get( 0 ); String message = logRecord.getMessage(); logRecord = logRecordList.get( 1 ); message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<exit" ) ); Assert.assertThat( message, new Contains( "operation=\"Operation : public java.lang.String com.ibm.logger.FakeClassWithAspect.methodWithServiceLogger()\"" ) ); Assert.assertThat( message, new Contains( "parameters=\"\"" ) ); Assert.assertThat( message, new Contains( "cacheHit=\"false\"" ) ); Assert.assertThat( message, new Contains( "cacheEnabled=\"false\"" ) ); Assert.assertThat( message, new Contains( "resultSize=\"16\"" ) ); Assert.assertThat( message, new Not( new Contains( "return=\"Hello to you too\"" ) ) ); }
@Test public void testTraceAndMeasureConstructorJoinPointWithLogger() { FakeClassWithAspect.SERVICE_LOGGER.setLevel( Level.FINER ); classWithAspect = new FakeClassWithAspect( 123 ); // expect an exit log List<LogRecord> logRecordList = serviceLoggerlogHandler.logRecordList; assertEquals( 2, logRecordList.size() ); LogRecord logRecord = logRecordList.get( 0 ); String message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<entry" ) ); Assert.assertThat( message, new Contains( "operation=\"Operation : public com.ibm.logger.FakeClassWithAspect(int)\"" ) ); Assert.assertThat( message, new Contains( "parameters=\"123\"" ) ); logRecord = logRecordList.get( 1 ); message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<exit" ) ); Assert.assertThat( message, new Contains( "operation=\"Operation : public com.ibm.logger.FakeClassWithAspect(int)\"" ) ); Assert.assertThat( message, new Contains( "parameters=\"123\"" ) ); Assert.assertThat( message, new Contains( "cacheHit=\"false\"" ) ); Assert.assertThat( message, new Contains( "cacheEnabled=\"false\"" ) ); Assert.assertThat( message, new Contains( "resultSize=\"0\"" ) ); }
@Test public void requireThatUnknownDocTypeThrowsIllegalArgumentException() { exception.expect(IllegalArgumentException.class); exception.expectMessage(new Contains("Document type walrus does not exist")); final String jsonData = inputJson( "[", " {", " 'put': 'id:ns:walrus::walrus1',", " 'fields': {", " 'aField': 42", " }", " }", "]"); new JsonReader(types, jsonToInputStream(jsonData), parserFactory).next(); }
@Test public void testTraceAndMeasureJoinPointExitLog() { classWithAspect.methodWithTrace(); // expect an exit log List<LogRecord> logRecordList = aspectClassLogHandler.logRecordList; assertEquals( 1, logRecordList.size() ); LogRecord logRecord = logRecordList.get( 0 ); String message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<exit" ) ); Assert.assertThat( message, new Contains( "operation=\"public java.lang.String com.ibm.logger.FakeClassWithAspect.methodWithTrace()\"" ) ); Assert.assertThat( message, new Contains( "parameters=\"\"" ) ); Assert.assertThat( message, new Contains( "cacheHit=\"false\"" ) ); Assert.assertThat( message, new Contains( "cacheEnabled=\"false\"" ) ); Assert.assertThat( message, new Contains( "resultSize=\"1000\"" ) ); Assert.assertThat( message, new Contains( "return=\"Hello world1\"" ) ); // measure and trace disabled // trace entry // trace exit // measurement impact // method throwing an exception // print mode on method return // print mode on method argument // option not to print return // option not to trace }
@Test public void testTraceAndMeasureJoinPointEntryLog() { FakeClassWithAspect.LOGGER.setLevel( Level.FINER ); classWithAspect.methodWithTrace(); // expect an exit log List<LogRecord> logRecordList = aspectClassLogHandler.logRecordList; assertEquals( 2, logRecordList.size() ); LogRecord logRecord = logRecordList.get( 0 ); String message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<entry" ) ); Assert.assertThat( message, new Contains( "operation=\"public java.lang.String com.ibm.logger.FakeClassWithAspect.methodWithTrace()\"" ) ); Assert.assertThat( message, new Contains( "parameters=\"\"" ) ); logRecord = logRecordList.get( 1 ); message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<exit" ) ); Assert.assertThat( message, new Contains( "operation=\"public java.lang.String com.ibm.logger.FakeClassWithAspect.methodWithTrace()\"" ) ); Assert.assertThat( message, new Contains( "parameters=\"\"" ) ); Assert.assertThat( message, new Contains( "cacheHit=\"false\"" ) ); Assert.assertThat( message, new Contains( "cacheEnabled=\"false\"" ) ); Assert.assertThat( message, new Contains( "resultSize=\"12\"" ) ); Assert.assertThat( message, new Contains( "return=\"Hello world1\"" ) ); }
@Test public void testTraceAndMeasureJoinPointEntryLogParameterAndPrintMode() { FakeClassWithAspect.LOGGER.setLevel( Level.FINER ); classWithAspect.methodWithTrace( "arg1", "arg2", 123, new int[] { 1, 2, 3 }, "filter" ); // expect an exit log List<LogRecord> logRecordList = aspectClassLogHandler.logRecordList; assertEquals( 2, logRecordList.size() ); LogRecord logRecord = logRecordList.get( 0 ); String message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<entry" ) ); Assert.assertThat( message, new Contains( "operation=\"public java.lang.String com.ibm.logger.FakeClassWithAspect.methodWithTrace(java.lang.String,java.lang.String,int,int[],java.lang.String)\"" ) ); String parameterTraceString = "parameters=\"arg1, " + Integer.toString( "arg2".hashCode() ) + ", ********, , filter\""; Assert.assertThat( message, new Contains( parameterTraceString ) ); logRecord = logRecordList.get( 1 ); message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<exit" ) ); Assert.assertThat( message, new Contains( "operation=\"public java.lang.String com.ibm.logger.FakeClassWithAspect.methodWithTrace(java.lang.String,java.lang.String,int,int[],java.lang.String)\"" ) ); Assert.assertThat( message, new Contains( parameterTraceString ) ); Assert.assertThat( message, new Contains( "cacheHit=\"false\"" ) ); Assert.assertThat( message, new Contains( "cacheEnabled=\"false\"" ) ); Assert.assertThat( message, new Contains( "resultSize=\"12\"" ) ); Assert.assertThat( message, new Contains( "return=\"********\"" ) ); }
@Test public void testTraceAndMeasureJoinPointEntryLogParameterSecured() { ApplyTraceAspect.secure = true; FakeClassWithAspect.LOGGER.setLevel( Level.FINER ); classWithAspect.methodWithTrace(); // expect an exit log List<LogRecord> logRecordList = aspectClassLogHandler.logRecordList; assertEquals( 2, logRecordList.size() ); LogRecord logRecord = logRecordList.get( 0 ); String message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<entry" ) ); Assert.assertThat( message, new Contains( "operation=\"public java.lang.String com.ibm.logger.FakeClassWithAspect.methodWithTrace()\"" ) ); String parameterTraceString = "parameters=\"********\""; Assert.assertThat( message, new Contains( parameterTraceString ) ); logRecord = logRecordList.get( 1 ); message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<exit" ) ); Assert.assertThat( message, new Contains( "operation=\"public java.lang.String com.ibm.logger.FakeClassWithAspect.methodWithTrace()\"" ) ); Assert.assertThat( message, new Contains( parameterTraceString ) ); Assert.assertThat( message, new Contains( "cacheHit=\"false\"" ) ); Assert.assertThat( message, new Contains( "cacheEnabled=\"false\"" ) ); Assert.assertThat( message, new Contains( "resultSize=\"12\"" ) ); Assert.assertThat( message, new Contains( "return=\"********\"" ) ); }
@Test public void testTraceAndMeasureJoinPointMethodThrowingError() { FakeClassWithAspect.LOGGER.setLevel( Level.FINER ); try { classWithAspect.methodWithTrace( "throwing" ); fail( "expected NullPointerException" ); } catch ( NullPointerException ex ) { assertEquals( "my npe", ex.getMessage() ); } // expect an exit log List<LogRecord> logRecordList = aspectClassLogHandler.logRecordList; assertEquals( 2, logRecordList.size() ); LogRecord logRecord = logRecordList.get( 0 ); String message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<entry" ) ); Assert.assertThat( message, new Contains( "operation=\"public java.lang.String com.ibm.logger.FakeClassWithAspect.methodWithTrace(java.lang.String)\"" ) ); Assert.assertThat( message, new Contains( "parameters=\"throwing\"" ) ); logRecord = logRecordList.get( 1 ); message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<exit" ) ); Assert.assertThat( message, new Contains( "operation=\"public java.lang.String com.ibm.logger.FakeClassWithAspect.methodWithTrace(java.lang.String)\"" ) ); Assert.assertThat( message, new Contains( "parameters=\"throwing\"" ) ); Assert.assertThat( message, new Contains( "cacheHit=\"false\"" ) ); Assert.assertThat( message, new Contains( "cacheEnabled=\"false\"" ) ); Assert.assertThat( message, new Contains( "resultSize=\"38\"" ) ); Assert.assertThat( message, new Contains( "return=\"java.lang.NullPointerException: my npe\"" ) ); }
@Test public void testTraceAndMeasureConstructorJoinPointEntryAndExitLogSecured() { ApplyTraceAspect.secure = true; FakeClassWithAspect.LOGGER.setLevel( Level.FINER ); classWithAspect = new FakeClassWithAspect( "hello" ); // expect an exit log List<LogRecord> logRecordList = aspectClassLogHandler.logRecordList; assertEquals( 2, logRecordList.size() ); LogRecord logRecord = logRecordList.get( 0 ); String message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<entry" ) ); Assert.assertThat( message, new Contains( "operation=\"public com.ibm.logger.FakeClassWithAspect(java.lang.String)\"" ) ); Assert.assertThat( message, new Contains( "parameters=\"********\"" ) ); logRecord = logRecordList.get( 1 ); message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<exit" ) ); Assert.assertThat( message, new Contains( "operation=\"public com.ibm.logger.FakeClassWithAspect(java.lang.String)\"" ) ); Assert.assertThat( message, new Contains( "parameters=\"********\"" ) ); Assert.assertThat( message, new Contains( "cacheHit=\"false\"" ) ); Assert.assertThat( message, new Contains( "cacheEnabled=\"false\"" ) ); Assert.assertThat( message, new Contains( "resultSize=\"0\"" ) ); }
@Test public void testTraceAndMeasureConstructorJoinPointEntryAndExitLog() { FakeClassWithAspect.LOGGER.setLevel( Level.FINER ); classWithAspect = new FakeClassWithAspect( "hello" ); // expect an exit log List<LogRecord> logRecordList = aspectClassLogHandler.logRecordList; assertEquals( 2, logRecordList.size() ); LogRecord logRecord = logRecordList.get( 0 ); String message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<entry" ) ); Assert.assertThat( message, new Contains( "operation=\"public com.ibm.logger.FakeClassWithAspect(java.lang.String)\"" ) ); Assert.assertThat( message, new Contains( "parameters=\"hello\"" ) ); logRecord = logRecordList.get( 1 ); message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<exit" ) ); Assert.assertThat( message, new Contains( "operation=\"public com.ibm.logger.FakeClassWithAspect(java.lang.String)\"" ) ); Assert.assertThat( message, new Contains( "parameters=\"hello\"" ) ); Assert.assertThat( message, new Contains( "cacheHit=\"false\"" ) ); Assert.assertThat( message, new Contains( "cacheEnabled=\"false\"" ) ); Assert.assertThat( message, new Contains( "resultSize=\"0\"" ) ); }
@Test public void testTraceAndMeasureJoinPointWithLogger() { ApplyTraceAspect.printReturnValue = true; FakeClassWithAspect.SERVICE_LOGGER.setLevel( Level.FINER ); classWithAspect.methodWithServiceLogger(); // expect an exit log List<LogRecord> logRecordList = serviceLoggerlogHandler.logRecordList; assertEquals( 2, logRecordList.size() ); LogRecord logRecord = logRecordList.get( 0 ); String message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<entry" ) ); Assert.assertThat( message, new Contains( "operation=\"Operation : public java.lang.String com.ibm.logger.FakeClassWithAspect.methodWithServiceLogger()\"" ) ); Assert.assertThat( message, new Contains( "parameters=\"\"" ) ); logRecord = logRecordList.get( 1 ); message = logRecord.getMessage(); System.out.println( message ); Assert.assertThat( message, new Contains( "<exit" ) ); Assert.assertThat( message, new Contains( "operation=\"Operation : public java.lang.String com.ibm.logger.FakeClassWithAspect.methodWithServiceLogger()\"" ) ); Assert.assertThat( message, new Contains( "parameters=\"\"" ) ); Assert.assertThat( message, new Contains( "cacheHit=\"false\"" ) ); Assert.assertThat( message, new Contains( "cacheEnabled=\"false\"" ) ); Assert.assertThat( message, new Contains( "resultSize=\"16\"" ) ); Assert.assertThat( message, new Contains( "return=\"Hello to you too\"" ) ); }
@Test public void testNegativeConstuctorWrongTask() throws ConfigurationException { InputStream stream = getClass().getClassLoader().getResourceAsStream("failing-task-sejda-config.xml"); expected.expectMessage(new Contains( "The configured class java.lang.String is not a subtype of interface org.sejda.model.task.Task")); when(provider.getConfigurationStream()).thenReturn(stream); XmlConfigurationStrategy.newInstance(provider); }
@Test public void testNegativeConstuctorWrongParam() throws ConfigurationException { InputStream stream = getClass().getClassLoader().getResourceAsStream("failing-param-sejda-config.xml"); expected.expectMessage(new Contains( "The configured class java.lang.String is not a subtype of interface org.sejda.model.parameter.base.TaskParameters")); when(provider.getConfigurationStream()).thenReturn(stream); XmlConfigurationStrategy.newInstance(provider); }
@Test public void testNegativeNotFoundClassParam() throws ConfigurationException { InputStream stream = getClass().getClassLoader().getResourceAsStream("failing-no-param-class-sejda-config.xml"); expected.expectMessage(new Contains("Unable to find the configured bla.bla.not.existing.Class")); when(provider.getConfigurationStream()).thenReturn(stream); XmlConfigurationStrategy.newInstance(provider); }
private void assertParserErrorMatches(String expectedError, String... json) { exception.expect(JsonReaderException.class); exception.expectMessage(new Contains(expectedError)); String jsonData = inputJson(json); new JsonReader(types, jsonToInputStream(jsonData), parserFactory).next(); }
@Test public void test_index() throws Exception { mvc.perform(get("/")).andExpect(status().isOk()).andExpect( content().string(new Contains("<label>Say what ever:</label>"))).andExpect( content().string(new StartsWith("<!DOCTYPE html>"))); }
@Test public void test_post() throws Exception { mvc.perform(post("/").param("text", "Hello")).andExpect(status().isOk()).andExpect( content().string(new Contains("<li>Hello</li>"))); }