Search in sources :

Example 1 with ValidationProblem

use of org.jboss.tools.cdi.reddeer.validators.ValidationProblem in project jbosstools-integration-tests by jbosstools.

the class ValidationHelper method findProblems.

public List<Problem> findProblems(ValidationProblem validationProblem) {
    StringContains regexpMatcher = new StringContains(validationProblem.getMessage());
    MarkerDescriptionMatcher descriptionMatcher = new MarkerDescriptionMatcher(regexpMatcher);
    List<Problem> filteredProblems = new ArrayList<Problem>();
    try {
        /**
         * Sometimes happens that marker is displayed and suddenly is hidden and displayed again,
         * so it is better to wait and doublecheck.
         */
        new WaitUntil(new ProblemExists(validationProblem.getProblemType(), descriptionMatcher), TimePeriod.LONG);
        new WaitWhile(new ProblemExists(validationProblem.getProblemType(), descriptionMatcher), TimePeriod.getCustom(5), false);
        new WaitUntil(new ProblemExists(validationProblem.getProblemType(), descriptionMatcher), TimePeriod.DEFAULT);
        ProblemsView pw = new ProblemsView();
        pw.open();
        new WaitUntil(new ProblemExists(ProblemType.ALL), TimePeriod.MEDIUM, false);
        filteredProblems = pw.getProblems(validationProblem.getProblemType(), descriptionMatcher);
    } catch (WaitTimeoutExpiredException ex) {
        log.warn(validationProblem.toString() + " not found.");
    }
    logProblemViewStatus(filteredProblems);
    return filteredProblems;
}
Also used : WaitWhile(org.eclipse.reddeer.common.wait.WaitWhile) ProblemExists(org.eclipse.reddeer.eclipse.condition.ProblemExists) WaitTimeoutExpiredException(org.eclipse.reddeer.common.exception.WaitTimeoutExpiredException) ArrayList(java.util.ArrayList) Problem(org.eclipse.reddeer.eclipse.ui.problems.Problem) ValidationProblem(org.jboss.tools.cdi.reddeer.validators.ValidationProblem) MarkerDescriptionMatcher(org.eclipse.reddeer.eclipse.ui.markers.matcher.MarkerDescriptionMatcher) WaitUntil(org.eclipse.reddeer.common.wait.WaitUntil) ProblemsView(org.eclipse.reddeer.eclipse.ui.views.markers.ProblemsView) StringContains(org.hamcrest.core.StringContains)

Example 2 with ValidationProblem

use of org.jboss.tools.cdi.reddeer.validators.ValidationProblem in project jbosstools-integration-tests by jbosstools.

the class StereotypeValidationQuickFixTemplate method testTargetAnnotation.

// https://issues.jboss.org/browse/JBIDE-7630
// cdi 1.0, not for 1.1+
@Test
public void testTargetAnnotation() {
    String className = "Stereotype1";
    beansHelper.createStereotype(className, getPackageName(), false, false, false, false, false);
    editResourceUtil.replaceInEditor(className + ".java", "@Target({ TYPE, METHOD, FIELD })", "@Target({ TYPE, FIELD })");
    ValidationProblem problem = validationProvider.getValidationProblem(ValidationType.TARGET);
    List<Problem> problems = validationHelper.findProblems(problem);
    if (CDIVersion.equals("1.0")) {
        assertEquals(1, problems.size());
        validationHelper.openQuickfix(problem, 3);
        TextEditor te = new TextEditor();
        te.getText().contentEquals("@Target({TYPE, METHOD, FIELD})");
        editResourceUtil.replaceInEditor(className + ".java", "@Target({TYPE, METHOD, FIELD})", "");
        problems = validationHelper.findProblems(problem);
        assertEquals(1, problems.size());
    } else {
        assertEquals(0, problems.size());
        editResourceUtil.replaceInEditor(className + ".java", "@Target({ TYPE, FIELD })", "");
        problems = validationHelper.findProblems(problem);
        assertEquals(0, problems.size());
    }
}
Also used : TextEditor(org.eclipse.reddeer.workbench.impl.editor.TextEditor) ValidationProblem(org.jboss.tools.cdi.reddeer.validators.ValidationProblem) Problem(org.eclipse.reddeer.eclipse.ui.problems.Problem) ValidationProblem(org.jboss.tools.cdi.reddeer.validators.ValidationProblem) Test(org.junit.Test)

Example 3 with ValidationProblem

use of org.jboss.tools.cdi.reddeer.validators.ValidationProblem in project jbosstools-integration-tests by jbosstools.

the class StereotypeValidationQuickFixTemplate method testNamedAnnotation.

// https://issues.jboss.org/browse/JBIDE-7634
@Test
public void testNamedAnnotation() {
    String className = "Stereotype3";
    beansHelper.createStereotype(className, getPackageName(), false, false, false, false, false);
    editResourceUtil.replaceClassContentByResource(className + ".java", readFile("resources/quickfix/stereotype/StereotypeWithNamed.java.cdi"), false);
    editResourceUtil.replaceInEditor(className + ".java", "StereotypeComponent", className);
    ValidationProblem problem = validationProvider.getValidationProblem(ValidationType.NAMED);
    List<Problem> problems = validationHelper.findProblems(problem);
    assertEquals(1, problems.size());
    validationHelper.openQuickfix(problem);
    new WaitWhile(new ProblemExists(ProblemType.ALL));
}
Also used : WaitWhile(org.eclipse.reddeer.common.wait.WaitWhile) ProblemExists(org.eclipse.reddeer.eclipse.condition.ProblemExists) ValidationProblem(org.jboss.tools.cdi.reddeer.validators.ValidationProblem) Problem(org.eclipse.reddeer.eclipse.ui.problems.Problem) ValidationProblem(org.jboss.tools.cdi.reddeer.validators.ValidationProblem) Test(org.junit.Test)

Example 4 with ValidationProblem

use of org.jboss.tools.cdi.reddeer.validators.ValidationProblem in project jbosstools-integration-tests by jbosstools.

the class ExcludeBeanTemplate method testExcludedBeans.

@Test
public void testExcludedBeans() {
    NewClassCreationWizard jd = new NewClassCreationWizard();
    jd.open();
    NewClassWizardPage jp = new NewClassWizardPage(jd);
    jp.setName("TestExcluded");
    jp.setPackage("test");
    jd.finish();
    TextEditor ed = new TextEditor("TestExcluded.java");
    editResourceUtil.replaceClassContentByResource("TestExcluded.java", readFile("resources/excluded/TestExcluded.jav_"), false);
    String warning = "org.eclipse.ui.workbench.texteditor.warning";
    new WaitUntil(new EditorHasValidationMarkers(ed));
    List<Marker> markers = ed.getMarkers();
    assertEquals(3, markers.size());
    ValidationProblem expected = validationProvider.getValidationProblem(ValidationType.NO_BEAN_ELIGIBLE);
    for (Marker m : ed.getMarkers()) {
        // JBIDE-26664
        String expectedJSRVersion = expected.getJSR();
        if (CDIVersion.equals("1.2")) {
            expectedJSRVersion = "JSR-365";
        }
        assertTrue((m.getLineNumber() == 16 && m.getType().equals(warning) && m.getText().contains(expected.getMessage()) && m.getText().contains(expectedJSRVersion)) || (m.getLineNumber() == 18 && m.getType().equals(warning) && m.getText().contains(expected.getMessage()) && m.getText().contains(expectedJSRVersion)) || (m.getLineNumber() == 19 && m.getType().equals(warning) && m.getText().contains(expected.getMessage()) && m.getText().contains(expectedJSRVersion)));
    }
    ProblemsView pw = new ProblemsView();
    pw.open();
    assertEquals(3, pw.getProblems(ProblemType.ALL).size());
    List<Problem> foundProblems = validationHelper.findProblems(expected);
    assertEquals(3, foundProblems.size());
}
Also used : TextEditor(org.eclipse.reddeer.workbench.impl.editor.TextEditor) NewClassWizardPage(org.eclipse.reddeer.eclipse.jdt.ui.wizards.NewClassWizardPage) NewClassCreationWizard(org.eclipse.reddeer.eclipse.jdt.ui.wizards.NewClassCreationWizard) ValidationProblem(org.jboss.tools.cdi.reddeer.validators.ValidationProblem) Problem(org.eclipse.reddeer.eclipse.ui.problems.Problem) ValidationProblem(org.jboss.tools.cdi.reddeer.validators.ValidationProblem) Marker(org.eclipse.reddeer.workbench.impl.editor.Marker) WaitUntil(org.eclipse.reddeer.common.wait.WaitUntil) ProblemsView(org.eclipse.reddeer.eclipse.ui.views.markers.ProblemsView) EditorHasValidationMarkers(org.eclipse.reddeer.workbench.condition.EditorHasValidationMarkers) Test(org.junit.Test)

Example 5 with ValidationProblem

use of org.jboss.tools.cdi.reddeer.validators.ValidationProblem in project jbosstools-integration-tests by jbosstools.

the class BeansXMLUITemplate method setAndCheckSourceDiscoveryMode.

private void setAndCheckSourceDiscoveryMode(EditorPartWrapper beans, String mode, ValidationType... expectedProblems) {
    beans.activateTreePage();
    String currentMode = beans.getBeanDiscoveryMode();
    beans.activateSourcePage();
    editResourceUtil.replaceInEditor("beans.xml", currentMode, mode);
    Editor e = new DefaultEditor();
    if (expectedProblems.length > 0) {
        for (ValidationType validationType : expectedProblems) {
            ValidationProblem expectedProblem = validationProvider.getValidationProblem(validationType);
            List<Problem> foundProblems = validationHelper.findProblems(expectedProblem);
            assertTrue(expectedProblem + " not found. There are these markers: " + e.getMarkers(), foundProblems.size() == 1);
        }
    } else {
        new WaitUntil(new EditorHasValidationMarkers(e), TimePeriod.DEFAULT, false);
        new WaitWhile(new EditorHasValidationMarkers(e), TimePeriod.LONG, false);
    }
    beans.activateTreePage();
    assertEquals(mode, beans.getBeanDiscoveryMode());
}
Also used : WaitWhile(org.eclipse.reddeer.common.wait.WaitWhile) ValidationType(org.jboss.tools.cdi.reddeer.annotation.ValidationType) ValidationProblem(org.jboss.tools.cdi.reddeer.validators.ValidationProblem) Problem(org.eclipse.reddeer.eclipse.ui.problems.Problem) ValidationProblem(org.jboss.tools.cdi.reddeer.validators.ValidationProblem) Editor(org.eclipse.reddeer.workbench.api.Editor) DefaultEditor(org.eclipse.reddeer.workbench.impl.editor.DefaultEditor) WaitUntil(org.eclipse.reddeer.common.wait.WaitUntil) DefaultEditor(org.eclipse.reddeer.workbench.impl.editor.DefaultEditor) EditorHasValidationMarkers(org.eclipse.reddeer.workbench.condition.EditorHasValidationMarkers)

Aggregations

ValidationProblem (org.jboss.tools.cdi.reddeer.validators.ValidationProblem)15 Problem (org.eclipse.reddeer.eclipse.ui.problems.Problem)12 Test (org.junit.Test)11 WaitWhile (org.eclipse.reddeer.common.wait.WaitWhile)8 WaitUntil (org.eclipse.reddeer.common.wait.WaitUntil)7 ProblemExists (org.eclipse.reddeer.eclipse.condition.ProblemExists)4 Project (org.eclipse.reddeer.eclipse.core.resources.Project)3 ProjectExplorer (org.eclipse.reddeer.eclipse.ui.navigator.resources.ProjectExplorer)3 ProblemsView (org.eclipse.reddeer.eclipse.ui.views.markers.ProblemsView)3 EditorHasValidationMarkers (org.eclipse.reddeer.workbench.condition.EditorHasValidationMarkers)3 TextEditor (org.eclipse.reddeer.workbench.impl.editor.TextEditor)3 BeanXMLValidationProblemIsEmpty (org.jboss.tools.cdi.bot.test.condition.BeanXMLValidationProblemIsEmpty)3 EditorPartWrapper (org.jboss.tools.cdi.reddeer.common.model.ui.editor.EditorPartWrapper)3 NewClassCreationWizard (org.eclipse.reddeer.eclipse.jdt.ui.wizards.NewClassCreationWizard)2 NewClassWizardPage (org.eclipse.reddeer.eclipse.jdt.ui.wizards.NewClassWizardPage)2 QuickFixPage (org.eclipse.reddeer.eclipse.ui.views.markers.QuickFixPage)2 QuickFixWizard (org.eclipse.reddeer.eclipse.ui.views.markers.QuickFixWizard)2 DefaultStyledText (org.eclipse.reddeer.swt.impl.styledtext.DefaultStyledText)2 Marker (org.eclipse.reddeer.workbench.impl.editor.Marker)2 ArrayList (java.util.ArrayList)1