diff --git a/headless-services/boot-java-language-server/src/test/java/org/springframework/ide/vscode/boot/java/conditionals/test/ConditionalsLiveHoverTest.java b/headless-services/boot-java-language-server/src/test/java/org/springframework/ide/vscode/boot/java/conditionals/test/ConditionalsLiveHoverTest.java index 291f30135..ce876ca07 100644 --- a/headless-services/boot-java-language-server/src/test/java/org/springframework/ide/vscode/boot/java/conditionals/test/ConditionalsLiveHoverTest.java +++ b/headless-services/boot-java-language-server/src/test/java/org/springframework/ide/vscode/boot/java/conditionals/test/ConditionalsLiveHoverTest.java @@ -56,145 +56,144 @@ public class ConditionalsLiveHoverTest { Editor editorWithMethodLiveHover = harness.newEditorFromFileUri(docUri, LanguageId.JAVA); editorWithMethodLiveHover.assertNoHover("@ConditionalOnMissingBean"); } -// -// @Test -// public void testLiveHoverConditionalOnBean() throws Exception { -// -// File directory = new File( -// ProjectsHarness.class.getResource("/test-projects/test-conditionals-live-hover/").toURI()); -// String docUri = "file://" + directory.getAbsolutePath() + "/src/main/java/example/ConditionalOnBeanConfig.java"; -// -// // Build a mock running boot app -// mockAppProvider.builder().isSpringBootApp(true).port("1111").processId("22022").host("cfapps.io") -// .processName("test-conditionals-live-hover") -// .getAutoConfigReport( -// "{\"positiveMatches\":{\"ConditionalOnBeanConfig#hi\":[{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnBean (types: example.Hello; SearchStrategy: all) found bean 'missing'\"}]}}") -// .build(); -// -// harness.intialize(directory); -// -// Editor editor = harness.newEditorFromFileUri(docUri, LanguageId.JAVA); -// editor.assertHoverContains("@ConditionalOnBean", "Condition: OnBeanCondition\n" + "\n" -// + "Message: @ConditionalOnBean (types: example.Hello; SearchStrategy: all) found bean 'missing'"); -// -// } -// -// @Test -// public void testLiveHoverConditionalOnMissingBean() throws Exception { -// -// File directory = new File( -// ProjectsHarness.class.getResource("/test-projects/test-conditionals-live-hover/").toURI()); -// String docUri = "file://" + directory.getAbsolutePath() -// + "/src/main/java/example/ConditionalOnMissingBeanConfig.java"; -// -// // Build a mock running boot app -// mockAppProvider.builder().isSpringBootApp(true).port("1111").processId("22022").host("cfapps.io") -// .processName("test-conditionals-live-hover") -// .getAutoConfigReport( -// "{\"positiveMatches\":{\"ConditionalOnMissingBeanConfig#missing\":[{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\"}]}}") -// .build(); -// -// harness.intialize(directory); -// -// Editor editor = harness.newEditorFromFileUri(docUri, LanguageId.JAVA); -// editor.assertHoverContains("@ConditionalOnMissingBean", "Condition: OnBeanCondition\n" + "\n" -// + "Message: @ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans"); -// -// } -// -// @Test -// public void testMultipleLiveHoverContentRealProject() throws Exception { -// -// File directory = new File( -// ProjectsHarness.class.getResource("/test-projects/test-conditionals-live-hover/").toURI()); -// String docUri = "file://" + directory.getAbsolutePath() + "/src/main/java/example/MultipleConditionals.java"; -// -// // Build a mock running boot app -// mockAppProvider.builder().isSpringBootApp(true).port("1111").processId("22022").host("cfapps.io") -// .processName("test-conditionals-live-hover") -// .getAutoConfigReport( -// "{\"positiveMatches\":{\"HelloConfig#missing\":[{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\"}],\"HelloConfig2#hi\":[{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnBean (types: example.Hello; SearchStrategy: all) found bean 'missing'\"}],\"MultipleConditionals#hi\":[{\"condition\":\"OnClassCondition\",\"message\":\"@ConditionalOnClass found required class; @ConditionalOnMissingClass did not find unwanted class\"},{\"condition\":\"OnWebApplicationCondition\",\"message\":\"@ConditionalOnWebApplication (required) found StandardServletEnvironment\"},{\"condition\":\"OnJavaCondition\",\"message\":\"@ConditionalOnJava (1.8 or newer) found 1.8\"},{\"condition\":\"OnExpressionCondition\",\"message\":\"@ConditionalOnExpression (#{true}) resulted in true\"},{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnBean (types: example.Hello; SearchStrategy: all) found beans 'hi', 'missing'\"}]}}") -// .build(); -// -// harness.intialize(directory); -// -// Editor editor = harness.newEditorFromFileUri(docUri, LanguageId.JAVA); -// -// editor.assertHoverContains("@ConditionalOnBean", "Condition: OnBeanCondition\n" + "\n" -// + "Message: @ConditionalOnBean (types: example.Hello; SearchStrategy: all) found beans 'hi', 'missing'"); -// -// editor.assertHoverContains("@ConditionalOnWebApplication", "Condition: OnWebApplicationCondition\n" + "\n" -// + "Message: @ConditionalOnWebApplication (required) found StandardServletEnvironment"); -// -// editor.assertHoverContains("@ConditionalOnJava(value=ConditionalOnJava.JavaVersion.EIGHT)", -// "Condition: OnJavaCondition\n" + "\n" + "Message: @ConditionalOnJava (1.8 or newer) found 1.8"); -// -// editor.assertHoverContains("@ConditionalOnMissingClass", "Condition: OnClassCondition\n" + "\n" -// + "Message: @ConditionalOnClass found required class; @ConditionalOnMissingClass did not find unwanted class"); -// -// editor.assertHoverContains("@ConditionalOnExpression", "Condition: OnExpressionCondition\n" + "\n" -// + "Message: @ConditionalOnExpression (#{true}) resulted in true"); -// } -// -// -// @Test -// public void testMultipleAppsLiveHover() throws Exception { -// -// File directory = new File( -// ProjectsHarness.class.getResource("/test-projects/test-conditionals-live-hover/").toURI()); -// String docUri = "file://" + directory.getAbsolutePath() -// + "/src/main/java/example/ConditionalOnMissingBeanConfig.java"; -// -// // Build a mock running boot app -// mockAppProvider.builder().isSpringBootApp(true).port("1000").processId("70000").host("cfapps.io") -// .processName("test-conditionals-live-hover") -// .getAutoConfigReport( -// "{\"positiveMatches\":{\"ConditionalOnMissingBeanConfig#missing\":[{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\"}]}}") -// .build(); -// -// mockAppProvider.builder().isSpringBootApp(true).port("1001").processId("80000").host("cfapps.io") -// .processName("test-conditionals-live-hover") -// .getAutoConfigReport( -// "{\"positiveMatches\":{\"ConditionalOnMissingBeanConfig#missing\":[{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\"}]}}") -// .build(); -// -// mockAppProvider.builder().isSpringBootApp(true).port("1002").processId("90000").host("cfapps.io") -// .processName("test-conditionals-live-hover") -// .getAutoConfigReport( -// "{\"positiveMatches\":{\"ConditionalOnMissingBeanConfig#missing\":[{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\"}]}}") -// .build(); -// -// harness.intialize(directory); -// -// Editor editor = harness.newEditorFromFileUri(docUri, LanguageId.JAVA); -// -// -// editor.assertHoverContains("@ConditionalOnMissingBean", "Condition: OnBeanCondition\n" + "\n" -// + "Message: @ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\n" + -// "\n" + -// "Process ID: 70000\n" + -// "\n" + -// "Process Name: test-conditionals-live-hover\n" + -// "\n" + -// "---\n" + -// "\n" + -// "Condition: OnBeanCondition\n" + "\n" -// + "Message: @ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\n" + -// "\n" + -// "Process ID: 80000\n" + -// "\n" + -// "Process Name: test-conditionals-live-hover\n" + -// "\n" + -// "---\n" + -// "\n" + -// "Condition: OnBeanCondition\n" + "\n" -// + "Message: @ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\n" + -// "\n" + -// "Process ID: 90000\n" + -// "\n" + -// "Process Name: test-conditionals-live-hover"); -// -// } + + @Test + public void testLiveHoverConditionalOnBean() throws Exception { + + File directory = new File( + ProjectsHarness.class.getResource("/test-projects/test-conditionals-live-hover/").toURI()); + String docUri = "file://" + directory.getAbsolutePath() + "/src/main/java/example/ConditionalOnBeanConfig.java"; + + // Build a mock running boot app + mockAppProvider.builder().isSpringBootApp(true).port("1111").processId("22022").host("cfapps.io") + .processName("test-conditionals-live-hover") + .getAutoConfigReport( + "{\"positiveMatches\":{\"ConditionalOnBeanConfig#hi\":[{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnBean (types: example.Hello; SearchStrategy: all) found bean 'missing'\"}]}}") + .build(); + + harness.intialize(directory); + + Editor editor = harness.newEditorFromFileUri(docUri, LanguageId.JAVA); + editor.assertHoverContains("@ConditionalOnBean", + "@ConditionalOnBean (types: example.Hello; SearchStrategy: all) found bean 'missing'\n" + + "\n" + + "Process 22022: test-conditionals-live-hover"); + } + + @Test + public void testLiveHoverConditionalOnMissingBean() throws Exception { + + File directory = new File( + ProjectsHarness.class.getResource("/test-projects/test-conditionals-live-hover/").toURI()); + String docUri = "file://" + directory.getAbsolutePath() + + "/src/main/java/example/ConditionalOnMissingBeanConfig.java"; + + // Build a mock running boot app + mockAppProvider.builder().isSpringBootApp(true).port("1111").processId("22022").host("cfapps.io") + .processName("test-conditionals-live-hover") + .getAutoConfigReport( + "{\"positiveMatches\":{\"ConditionalOnMissingBeanConfig#missing\":[{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\"}]}}") + .build(); + + harness.intialize(directory); + + Editor editor = harness.newEditorFromFileUri(docUri, LanguageId.JAVA); + editor.assertHoverContains("@ConditionalOnMissingBean", "@ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\n"+ + "\n" + + "Process 22022: test-conditionals-live-hover"); + + } + + @Test + public void testMultipleLiveHoverContentRealProject() throws Exception { + + File directory = new File( + ProjectsHarness.class.getResource("/test-projects/test-conditionals-live-hover/").toURI()); + String docUri = "file://" + directory.getAbsolutePath() + "/src/main/java/example/MultipleConditionals.java"; + + // Build a mock running boot app + mockAppProvider.builder().isSpringBootApp(true).port("1111").processId("22022").host("cfapps.io") + .processName("test-conditionals-live-hover") + .getAutoConfigReport( + "{\"positiveMatches\":{\"HelloConfig#missing\":[{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\"}],\"HelloConfig2#hi\":[{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnBean (types: example.Hello; SearchStrategy: all) found bean 'missing'\"}],\"MultipleConditionals#hi\":[{\"condition\":\"OnClassCondition\",\"message\":\"@ConditionalOnClass found required class; @ConditionalOnMissingClass did not find unwanted class\"},{\"condition\":\"OnWebApplicationCondition\",\"message\":\"@ConditionalOnWebApplication (required) found StandardServletEnvironment\"},{\"condition\":\"OnJavaCondition\",\"message\":\"@ConditionalOnJava (1.8 or newer) found 1.8\"},{\"condition\":\"OnExpressionCondition\",\"message\":\"@ConditionalOnExpression (#{true}) resulted in true\"},{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnBean (types: example.Hello; SearchStrategy: all) found beans 'hi', 'missing'\"}]}}") + .build(); + + harness.intialize(directory); + + Editor editor = harness.newEditorFromFileUri(docUri, LanguageId.JAVA); + + editor.assertHoverContains("@ConditionalOnBean", "@ConditionalOnBean (types: example.Hello; SearchStrategy: all) found beans 'hi', 'missing'\n" + + "\n" + + "Process 22022: test-conditionals-live-hover"); + + editor.assertHoverContains("@ConditionalOnWebApplication", "@ConditionalOnWebApplication (required) found StandardServletEnvironment\n"+ + "\n" + + "Process 22022: test-conditionals-live-hover"); + + editor.assertHoverContains("@ConditionalOnJava(value=ConditionalOnJava.JavaVersion.EIGHT)", + "@ConditionalOnJava (1.8 or newer) found 1.8\n" + + "\n" + + "Process 22022: test-conditionals-live-hover"); + + editor.assertHoverContains("@ConditionalOnMissingClass", "@ConditionalOnClass found required class; @ConditionalOnMissingClass did not find unwanted class\n" + + "\n" + + "Process 22022: test-conditionals-live-hover"); + + editor.assertHoverContains("@ConditionalOnExpression", "@ConditionalOnExpression (#{true}) resulted in true\n" + + "\n" + + "Process 22022: test-conditionals-live-hover"); + } + + + @Test + public void testMultipleAppsLiveHover() throws Exception { + + File directory = new File( + ProjectsHarness.class.getResource("/test-projects/test-conditionals-live-hover/").toURI()); + String docUri = "file://" + directory.getAbsolutePath() + + "/src/main/java/example/ConditionalOnMissingBeanConfig.java"; + + // Build a mock running boot app + mockAppProvider.builder().isSpringBootApp(true).port("1000").processId("70000").host("cfapps.io") + .processName("test-conditionals-live-hover") + .getAutoConfigReport( + "{\"positiveMatches\":{\"ConditionalOnMissingBeanConfig#missing\":[{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\"}]}}") + .build(); + + mockAppProvider.builder().isSpringBootApp(true).port("1001").processId("80000").host("cfapps.io") + .processName("test-conditionals-live-hover") + .getAutoConfigReport( + "{\"positiveMatches\":{\"ConditionalOnMissingBeanConfig#missing\":[{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\"}]}}") + .build(); + + mockAppProvider.builder().isSpringBootApp(true).port("1002").processId("90000").host("cfapps.io") + .processName("test-conditionals-live-hover") + .getAutoConfigReport( + "{\"positiveMatches\":{\"ConditionalOnMissingBeanConfig#missing\":[{\"condition\":\"OnBeanCondition\",\"message\":\"@ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\"}]}}") + .build(); + + harness.intialize(directory); + + Editor editor = harness.newEditorFromFileUri(docUri, LanguageId.JAVA); + + + editor.assertHoverContains("@ConditionalOnMissingBean", "@ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\n" + + "\n" + + "Process 70000: test-conditionals-live-hover\n" + + "\n" + + "---\n" + + "\n" + + "@ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\n" + + "\n" + + "Process 80000: test-conditionals-live-hover\n" + + "\n" + + "---\n" + + "\n" + + "@ConditionalOnMissingBean (types: example.Hello; SearchStrategy: all) did not find any beans\n" + + "\n" + + "Process 90000: test-conditionals-live-hover"); + + } // @Test // public void testMultipleLiveHoverHints() throws Exception {