/******************************************************************************* * Copyright (c) 2017 Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.hibernate.reddeer.test; import org.jboss.reddeer.eclipse.jdt.ui.ProjectExplorer; import org.jboss.reddeer.junit.requirement.inject.InjectRequirement; import org.jboss.reddeer.junit.runner.RedDeerSuite; import org.jboss.reddeer.requirements.db.DatabaseConfiguration; import org.jboss.reddeer.requirements.db.DatabaseRequirement; import org.jboss.reddeer.requirements.db.DatabaseRequirement.Database; import org.jboss.tools.hibernate.reddeer.console.wizards.NewConfigurationFirstPage; import org.jboss.tools.hibernate.reddeer.console.wizards.NewConfigurationWizard; import org.jboss.tools.hibernate.reddeer.console.wizards.NewConfigurationWizardPage; import org.jboss.tools.hibernate.reddeer.console.wizards.NewReverseEngineeringFileWizard; import org.jboss.tools.hibernate.reddeer.console.wizards.TableFilterWizardPage; import org.jboss.tools.hibernate.reddeer.mapper.editors.ReverseEngineeringEditor; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; /** * Reverse Engineering File (reveng.xml) file test * Creates file * @author jpeterka * */ @RunWith(RedDeerSuite.class) @Database(name="testdb") public class RevengFileTest extends HibernateRedDeerTest { //TODO use latest private String PROJECT_NAME = "mvn-hibernate52"; private String hbVersion = "5.2"; @InjectRequirement private DatabaseRequirement dbRequirement; @Before public void prepare() { importMavenProject(PROJECT_NAME); prepareConsoleConfiguration(); } public void prepareConsoleConfiguration() { NewConfigurationWizard wizard = new NewConfigurationWizard(); wizard.open(); NewConfigurationFirstPage p1 = new NewConfigurationFirstPage(); p1.setLocation(PROJECT_NAME,"src","main","java"); wizard.next(); DatabaseConfiguration cfg = dbRequirement.getConfiguration(); NewConfigurationWizardPage p2 = new NewConfigurationWizardPage(); p2.setDatabaseDialect("H2"); p2.setDriverClass(cfg.getDriverClass()); p2.setConnectionURL(cfg.getJdbcString()); p2.setUsername(cfg.getUsername()); p2.setCreateConsoleConfiguration(true); p2.setHibernateVersion(hbVersion); wizard.finish(); } @Test public void testCreateRevengFile() { ProjectExplorer pe = new ProjectExplorer(); pe.open(); pe.selectProjects(PROJECT_NAME); NewReverseEngineeringFileWizard wizard = new NewReverseEngineeringFileWizard(); wizard.open(); wizard.next(); TableFilterWizardPage page = new TableFilterWizardPage(); page.setConsoleConfiguration(PROJECT_NAME); page.refreshDatabaseSchema(); page.pressInclude(); wizard.finish(); ReverseEngineeringEditor re = new ReverseEngineeringEditor(); re.activateDesignTab(); re.activateOverviewTab(); re.activateSourceTab(); re.activateTableFiltersTab(); re.activateTypeMappingsTab(); } }