Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Guzman2013-12-13 21:06:43 +0000
committerAlexander Kurtakov2014-01-23 09:38:13 +0000
commita1bfcef3204c443cd48a7727638578d4bca48e3c (patch)
tree286813a92d9dd5de653446cc8177ed25339aa9fa /rpm/org.eclipse.linuxtools.rpm.createrepo.tests
parent4daca64c700c56f27c40094855b0f86d97b0be3c (diff)
downloadorg.eclipse.linuxtools-a1bfcef3204c443cd48a7727638578d4bca48e3c.tar.gz
org.eclipse.linuxtools-a1bfcef3204c443cd48a7727638578d4bca48e3c.tar.xz
org.eclipse.linuxtools-a1bfcef3204c443cd48a7727638578d4bca48e3c.zip
RPM: createrepo tests for preference/property page
Testing classes within: o org.eclipse.linuxtools.internal.rpm.createrepo.preference Change-Id: I72295849ea1b6d068e80cabbcb9b4a7f71a61427 Signed-off-by: Neil Guzman <guzmann001@gmail.com> Reviewed-on: https://git.eclipse.org/r/20958 Tested-by: Hudson CI Reviewed-by: Alexander Kurtakov <akurtako@redhat.com> IP-Clean: Alexander Kurtakov <akurtako@redhat.com> Tested-by: Alexander Kurtakov <akurtako@redhat.com>
Diffstat (limited to 'rpm/org.eclipse.linuxtools.rpm.createrepo.tests')
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/tests/CreaterepoDeltaPropertyPageTest.java229
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/tests/CreaterepoGeneralPropertyPageTest.java312
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/tests/CreaterepoPreferencePageTest.java240
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/rpm/createrepo/tests/AllTests.java6
-rw-r--r--rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/rpm/createrepo/tests/ICreaterepoTestConstants.java5
5 files changed, 791 insertions, 1 deletions
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/tests/CreaterepoDeltaPropertyPageTest.java b/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/tests/CreaterepoDeltaPropertyPageTest.java
new file mode 100644
index 0000000000..103bb79b2d
--- /dev/null
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/tests/CreaterepoDeltaPropertyPageTest.java
@@ -0,0 +1,229 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Red Hat Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are 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:
+ * Neil Guzman - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.linuxtools.internal.rpm.createrepo.preference.tests;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.linuxtools.internal.rpm.createrepo.Activator;
+import org.eclipse.linuxtools.internal.rpm.createrepo.Messages;
+import org.eclipse.linuxtools.rpm.createrepo.CreaterepoPreferenceConstants;
+import org.eclipse.linuxtools.rpm.createrepo.CreaterepoProject;
+import org.eclipse.linuxtools.rpm.createrepo.tests.ICreaterepoTestConstants;
+import org.eclipse.linuxtools.rpm.createrepo.tests.TestCreaterepoProject;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
+import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
+import org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.osgi.service.prefs.BackingStoreException;
+
+/**
+ * Tests for CreaterepoDeltaPropertyPage class.
+ */
+public class CreaterepoDeltaPropertyPageTest {
+
+ private static TestCreaterepoProject testProject;
+ private CreaterepoProject project;
+ private static SWTWorkbenchBot bot;
+
+ /**
+ * Initialize the test project.
+ *
+ * @throws CoreException
+ */
+ @BeforeClass
+ public static void setUpBeforeClass() throws CoreException {
+ testProject = new TestCreaterepoProject();
+ assertTrue(testProject.getProject().exists());
+ bot = new SWTWorkbenchBot();
+ testProject.restoreDefaults();
+ try {
+ bot.shell(ICreaterepoTestConstants.MAIN_SHELL).activate();
+ } catch (WidgetNotFoundException e) {
+ // cannot activate main shell, continue anyways
+ }
+ openResourcePerspective();
+ }
+
+ /**
+ * Delete the project when tests are done.
+ *
+ * @throws CoreException
+ */
+ @AfterClass
+ public static void tearDownAfterClass() throws CoreException {
+ testProject.dispose();
+ assertFalse(testProject.getProject().exists());
+ }
+
+ /**
+ * Get the CreaterepoProject at the beginning of each test.
+ *
+ * @throws CoreException
+ * @throws IOException
+ */
+ @Before
+ public void setUp() throws CoreException {
+ project = testProject.getCreaterepoProject();
+ assertNotNull(project);
+ // before doing anything with SWTBot, activate the main shell
+ try {
+ bot.shell(ICreaterepoTestConstants.MAIN_SHELL).activate();
+ } catch (WidgetNotFoundException e) {
+ // cannot activate main shell, continue anyways
+ }
+ openPropertyPage();
+ }
+
+ /**
+ * Restore the defaults for the general preference page.
+ *
+ * @throws BackingStoreException
+ */
+ @After
+ public void tearDown() throws BackingStoreException {
+ try {
+ if (bot.shell(String.format(ICreaterepoTestConstants.PROPERTIES_SHELL,
+ ICreaterepoTestConstants.REPO_NAME)).isActive()) {
+ bot.shell(String.format(ICreaterepoTestConstants.PROPERTIES_SHELL,
+ ICreaterepoTestConstants.REPO_NAME)).close();
+ }
+ } catch (WidgetNotFoundException e) {
+ // cannot close property shell
+ }
+ testProject.restoreDefaults();
+ IEclipsePreferences pref = project.getEclipsePreferences();
+ pref.clear();
+ pref.flush();
+ assertEquals(0, pref.keys().length);
+ }
+
+ /**
+ * Test if all preferences modified in the deltas createrepo property
+ * page persist to project preferences.
+ */
+ @Test
+ public void testChangePreferences() {
+ bot.checkBox(Messages.CreaterepoDeltaPropertyPage_booleanEnableLabel).click();
+ bot.textWithLabel(Messages.CreaterepoDeltaPropertyPage_maxNumberOfDeltas).setText("9"); //$NON-NLS-1$
+ bot.textWithLabel(Messages.CreaterepoDeltaPropertyPage_maxDeltaSize).setText("13"); //$NON-NLS-1$
+ bot.button(ICreaterepoTestConstants.OK_BUTTON).click();
+ openPropertyPage();
+ IEclipsePreferences pref = project.getEclipsePreferences();
+ IPreferenceStore prefStore = Activator.getDefault().getPreferenceStore();
+ assertEquals(prefStore.getBoolean(CreaterepoPreferenceConstants.PREF_DELTA_ENABLE),
+ bot.checkBox(Messages.CreaterepoDeltaPropertyPage_booleanEnableLabel).isChecked());
+ assertEquals(pref.getInt(CreaterepoPreferenceConstants.PREF_NUM_DELTAS,
+ prefStore.getInt(CreaterepoPreferenceConstants.PREF_NUM_DELTAS)),
+ Integer.parseInt(bot.textWithLabel(Messages.CreaterepoDeltaPropertyPage_maxNumberOfDeltas).getText()));
+ assertEquals(pref.getInt(CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE,
+ prefStore.getInt(CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE)),
+ Integer.parseInt(bot.textWithLabel(Messages.CreaterepoDeltaPropertyPage_maxDeltaSize).getText()));
+ }
+
+ /**
+ * Test if all preferences modified in the deltas createrepo property
+ * page will reset to default.
+ */
+ @Test
+ public void testRestoreDefaults() {
+ bot.checkBox(Messages.CreaterepoDeltaPropertyPage_booleanEnableLabel).click();
+ bot.textWithLabel(Messages.CreaterepoDeltaPropertyPage_maxNumberOfDeltas).setText("9"); //$NON-NLS-1$
+ bot.textWithLabel(Messages.CreaterepoDeltaPropertyPage_maxDeltaSize).setText("13"); //$NON-NLS-1$
+ bot.button(ICreaterepoTestConstants.OK_BUTTON).click();
+ openPropertyPage();
+ bot.button(ICreaterepoTestConstants.DEFAULTS).click();
+ bot.button(ICreaterepoTestConstants.OK_BUTTON).click();
+ IEclipsePreferences pref = project.getEclipsePreferences();
+ IPreferenceStore prefStore = Activator.getDefault().getPreferenceStore();
+ assertTrue(prefStore.isDefault(CreaterepoPreferenceConstants.PREF_DELTA_ENABLE));
+ assertEquals(pref.getInt(CreaterepoPreferenceConstants.PREF_NUM_DELTAS,
+ prefStore.getInt(CreaterepoPreferenceConstants.PREF_NUM_DELTAS)),
+ prefStore.getDefaultInt(CreaterepoPreferenceConstants.PREF_NUM_DELTAS));
+ assertEquals(pref.getInt(CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE,
+ prefStore.getInt(CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE)),
+ prefStore.getDefaultInt(CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE));
+ }
+
+ /**
+ * Test if all preferences stay the same as it was after pressing cancel
+ * instead of ok.
+ */
+ @Test
+ public void testCancel() {
+ bot.checkBox(Messages.CreaterepoDeltaPropertyPage_booleanEnableLabel).click();
+ bot.textWithLabel(Messages.CreaterepoDeltaPropertyPage_maxNumberOfDeltas).setText("9"); //$NON-NLS-1$
+ bot.textWithLabel(Messages.CreaterepoDeltaPropertyPage_maxDeltaSize).setText("13"); //$NON-NLS-1$
+ bot.button(ICreaterepoTestConstants.OK_BUTTON).click();
+ openPropertyPage();
+ bot.button(ICreaterepoTestConstants.DEFAULTS).click();
+ bot.button(ICreaterepoTestConstants.CANCEL_BUTTON).click();
+ openPropertyPage();
+ IEclipsePreferences pref = project.getEclipsePreferences();
+ IPreferenceStore prefStore = Activator.getDefault().getPreferenceStore();
+ assertEquals(prefStore.getBoolean(CreaterepoPreferenceConstants.PREF_DELTA_ENABLE),
+ bot.checkBox(Messages.CreaterepoDeltaPropertyPage_booleanEnableLabel).isChecked());
+ assertEquals(pref.getInt(CreaterepoPreferenceConstants.PREF_NUM_DELTAS,
+ prefStore.getInt(CreaterepoPreferenceConstants.PREF_NUM_DELTAS)),
+ Integer.parseInt(bot.textWithLabel(Messages.CreaterepoDeltaPropertyPage_maxNumberOfDeltas).getText()));
+ assertEquals(pref.getInt(CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE,
+ prefStore.getInt(CreaterepoPreferenceConstants.PREF_MAX_DELTA_SIZE)),
+ Integer.parseInt(bot.textWithLabel(Messages.CreaterepoDeltaPropertyPage_maxDeltaSize).getText()));
+ }
+
+ /**
+ * Open the resource perspective.
+ */
+ private static void openResourcePerspective() {
+ // turn on the resource perspective
+ bot.menu(ICreaterepoTestConstants.WINDOW).menu(ICreaterepoTestConstants.SHOW_VIEW)
+ .menu(ICreaterepoTestConstants.OTHER).click();
+ SWTBotShell shell = bot.shell(ICreaterepoTestConstants.SHOW_VIEW);
+ shell.activate();
+ bot.tree().expandNode(ICreaterepoTestConstants.GENERAL_NODE).select(ICreaterepoTestConstants.NAVIGATOR);
+ bot.button(ICreaterepoTestConstants.OK_BUTTON).click();
+ }
+
+ /**
+ * Open the property page.
+ */
+ private void openPropertyPage() {
+ SWTBotView view = bot.viewByTitle(ICreaterepoTestConstants.NAVIGATOR);
+ view.show();
+ // select the .repo file from the package explorer and open its properties
+ Composite packageExplorer = (Composite)view.getWidget();
+ assertNotNull(packageExplorer);
+ Tree swtTree = bot.widget(WidgetMatcherFactory.widgetOfType(Tree.class), packageExplorer);
+ assertNotNull(swtTree);
+ SWTBotTree botTree = new SWTBotTree(swtTree);
+ botTree.expandNode(ICreaterepoTestConstants.PROJECT_NAME).getNode(ICreaterepoTestConstants.REPO_NAME)
+ .contextMenu(ICreaterepoTestConstants.PROPERTIES).click();
+ // get a handle of the property shell
+ SWTBotShell propertyShell = bot.shell(String.format(ICreaterepoTestConstants.PROPERTIES_SHELL,
+ ICreaterepoTestConstants.REPO_NAME));
+ propertyShell.activate();
+ bot.tree().expandNode(ICreaterepoTestConstants.CREATEREPO_CATEGORY).getNode(ICreaterepoTestConstants.DELTAS).select();
+ }
+
+}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/tests/CreaterepoGeneralPropertyPageTest.java b/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/tests/CreaterepoGeneralPropertyPageTest.java
new file mode 100644
index 0000000000..9d7cb0e5ce
--- /dev/null
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/tests/CreaterepoGeneralPropertyPageTest.java
@@ -0,0 +1,312 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Red Hat Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are 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:
+ * Neil Guzman - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.linuxtools.internal.rpm.createrepo.preference.tests;
+
+import static org.junit.Assert.*;
+
+import java.io.IOException;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.linuxtools.internal.rpm.createrepo.Activator;
+import org.eclipse.linuxtools.internal.rpm.createrepo.Messages;
+import org.eclipse.linuxtools.rpm.createrepo.CreaterepoPreferenceConstants;
+import org.eclipse.linuxtools.rpm.createrepo.CreaterepoProject;
+import org.eclipse.linuxtools.rpm.createrepo.ICreaterepoChecksums;
+import org.eclipse.linuxtools.rpm.createrepo.ICreaterepoCompressionTypes;
+import org.eclipse.linuxtools.rpm.createrepo.tests.ICreaterepoTestConstants;
+import org.eclipse.linuxtools.rpm.createrepo.tests.TestCreaterepoProject;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
+import org.eclipse.swtbot.eclipse.finder.widgets.SWTBotView;
+import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.matchers.WidgetMatcherFactory;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotTree;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.osgi.service.prefs.BackingStoreException;
+
+/**
+ * Tests for CreaterepoGeneralPropertyPage class.
+ */
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class CreaterepoGeneralPropertyPageTest {
+
+ private static TestCreaterepoProject testProject;
+ private CreaterepoProject project;
+ private static SWTWorkbenchBot bot;
+
+ /**
+ * Initialize the test project.
+ *
+ * @throws CoreException
+ */
+ @BeforeClass
+ public static void setUpBeforeClass() throws CoreException {
+ testProject = new TestCreaterepoProject();
+ assertTrue(testProject.getProject().exists());
+ bot = new SWTWorkbenchBot();
+ testProject.restoreDefaults();
+ try {
+ bot.shell(ICreaterepoTestConstants.MAIN_SHELL).activate();
+ } catch (WidgetNotFoundException e) {
+ // cannot activate main shell, continue anyways
+ }
+ openResourcePerspective();
+ }
+
+ /**
+ * Delete the project when tests are done.
+ *
+ * @throws CoreException
+ */
+ @AfterClass
+ public static void tearDownAfterClass() throws CoreException {
+ testProject.dispose();
+ assertFalse(testProject.getProject().exists());
+ }
+
+ /**
+ * Get the CreaterepoProject at the beginning of each test.
+ *
+ * @throws CoreException
+ * @throws IOException
+ */
+ @Before
+ public void setUp() throws CoreException {
+ project = testProject.getCreaterepoProject();
+ assertNotNull(project);
+ // before doing anything with SWTBot, activate the main shell
+ try {
+ bot.shell(ICreaterepoTestConstants.MAIN_SHELL).activate();
+ } catch (WidgetNotFoundException e) {
+ // cannot activate main shell, continue anyways
+ }
+ openPropertyPage();
+ }
+
+ /**
+ * Restore the defaults for the general preference page.
+ *
+ * @throws BackingStoreException
+ */
+ @After
+ public void tearDown() throws BackingStoreException {
+ try {
+ if (bot.shell(String.format(ICreaterepoTestConstants.PROPERTIES_SHELL,
+ ICreaterepoTestConstants.REPO_NAME)).isActive()) {
+ bot.shell(String.format(ICreaterepoTestConstants.PROPERTIES_SHELL,
+ ICreaterepoTestConstants.REPO_NAME)).close();
+ }
+ } catch (WidgetNotFoundException e) {
+ // cannot close property shell
+ }
+ testProject.restoreDefaults();
+ IEclipsePreferences pref = project.getEclipsePreferences();
+ pref.clear();
+ pref.flush();
+ assertEquals(0, pref.keys().length);
+ }
+
+ /**
+ * Test if all preferences modified in the general createrepo property
+ * page persist to project preferences.
+ */
+ @Test
+ public void testChangePreferences() {
+ bot.checkBox(Messages.CreaterepoGeneralPropertyPage_projectSettings).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanChecksumName).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanGenerateSQLDB).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanPrettyXML).click();
+ bot.textWithLabel(Messages.CreaterepoPreferencePage_numWorkers).setText("9"); //$NON-NLS-1$
+ bot.textWithLabel(Messages.CreaterepoPreferencePage_numChangelogLimit).setText("13"); //$NON-NLS-1$
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanCheckTS).click();
+ bot.radio(ICreaterepoChecksums.SHA512).click();
+ bot.radio(ICreaterepoCompressionTypes.XZ).click();
+ bot.button(ICreaterepoTestConstants.OK_BUTTON).click();
+ openPropertyPage();
+ IEclipsePreferences pref = project.getEclipsePreferences();
+ IPreferenceStore prefStore = Activator.getDefault().getPreferenceStore();
+ assertEquals(prefStore.getBoolean(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED),
+ bot.checkBox(Messages.CreaterepoGeneralPropertyPage_projectSettings).isChecked());
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME)),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanChecksumName).isChecked());
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_GENERATE_DB,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_GENERATE_DB)),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanGenerateSQLDB).isChecked());
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS)),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks).isChecked());
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_PRETTY_XML,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_PRETTY_XML)),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanPrettyXML).isChecked());
+ assertEquals(pref.getInt(CreaterepoPreferenceConstants.PREF_WORKERS,
+ prefStore.getInt(CreaterepoPreferenceConstants.PREF_WORKERS)),
+ Integer.parseInt(bot.textWithLabel(Messages.CreaterepoPreferencePage_numWorkers).getText()));
+ assertEquals(pref.getInt(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT,
+ prefStore.getInt(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT)),
+ Integer.parseInt(bot.textWithLabel(Messages.CreaterepoPreferencePage_numChangelogLimit).getText()));
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_CHECK_TS,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_CHECK_TS)),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanCheckTS).isChecked());
+ assertTrue(bot.radio(pref.get(CreaterepoPreferenceConstants.PREF_CHECKSUM,
+ prefStore.getDefaultString(CreaterepoPreferenceConstants.PREF_CHECKSUM))).isSelected());
+ assertTrue(bot.radio(pref.get(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE,
+ prefStore.getDefaultString(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE))).isSelected());
+ }
+
+ /**
+ * Test if all preferences modified in the general createrepo property
+ * page will reset to default.
+ */
+ @Test
+ public void testRestoreDefaults() {
+ bot.checkBox(Messages.CreaterepoGeneralPropertyPage_projectSettings).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanChecksumName).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanGenerateSQLDB).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanPrettyXML).click();
+ bot.textWithLabel(Messages.CreaterepoPreferencePage_numWorkers).setText("9"); //$NON-NLS-1$
+ bot.textWithLabel(Messages.CreaterepoPreferencePage_numChangelogLimit).setText("13"); //$NON-NLS-1$
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanCheckTS).click();
+ bot.radio(ICreaterepoChecksums.SHA512).click();
+ bot.radio(ICreaterepoCompressionTypes.XZ).click();
+ bot.button(ICreaterepoTestConstants.OK_BUTTON).click();
+ openPropertyPage();
+ bot.button(ICreaterepoTestConstants.DEFAULTS).click();
+ bot.button(ICreaterepoTestConstants.OK_BUTTON).click();
+ IEclipsePreferences pref = project.getEclipsePreferences();
+ IPreferenceStore prefStore = Activator.getDefault().getPreferenceStore();
+ assertTrue(prefStore.isDefault(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED));
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME)),
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME));
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_GENERATE_DB,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_GENERATE_DB)),
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_GENERATE_DB));
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS)),
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS));
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_PRETTY_XML,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_PRETTY_XML)),
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_PRETTY_XML));
+ assertEquals(pref.getInt(CreaterepoPreferenceConstants.PREF_WORKERS,
+ prefStore.getInt(CreaterepoPreferenceConstants.PREF_WORKERS)),
+ prefStore.getDefaultInt(CreaterepoPreferenceConstants.PREF_WORKERS));
+ assertEquals(pref.getInt(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT,
+ prefStore.getInt(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT)),
+ prefStore.getDefaultInt(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT));
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_CHECK_TS,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_CHECK_TS)),
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_CHECK_TS));
+ assertEquals(pref.get(CreaterepoPreferenceConstants.PREF_CHECKSUM, prefStore.getDefaultString(CreaterepoPreferenceConstants.PREF_CHECKSUM)),
+ prefStore.getDefaultString(CreaterepoPreferenceConstants.PREF_CHECKSUM));
+ assertEquals(pref.get(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE, prefStore.getDefaultString(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE)),
+ prefStore.getDefaultString(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE));
+ }
+
+ /**
+ * Test if all preferences stay the same as it was after pressing cancel
+ * instead of ok.
+ */
+ @Test
+ public void testCancel() {
+ bot.checkBox(Messages.CreaterepoGeneralPropertyPage_projectSettings).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanChecksumName).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanGenerateSQLDB).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanPrettyXML).click();
+ bot.textWithLabel(Messages.CreaterepoPreferencePage_numWorkers).setText("9"); //$NON-NLS-1$
+ bot.textWithLabel(Messages.CreaterepoPreferencePage_numChangelogLimit).setText("13"); //$NON-NLS-1$
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanCheckTS).click();
+ bot.radio(ICreaterepoChecksums.SHA512).click();
+ bot.radio(ICreaterepoCompressionTypes.XZ).click();
+ bot.button(ICreaterepoTestConstants.OK_BUTTON).click();
+ openPropertyPage();
+ bot.button(ICreaterepoTestConstants.DEFAULTS).click();
+ bot.button(ICreaterepoTestConstants.CANCEL_BUTTON).click();
+ openPropertyPage();
+ IEclipsePreferences pref = project.getEclipsePreferences();
+ IPreferenceStore prefStore = Activator.getDefault().getPreferenceStore();
+ assertEquals(prefStore.getBoolean(CreaterepoPreferenceConstants.PREF_GENERAL_ENABLED),
+ bot.checkBox(Messages.CreaterepoGeneralPropertyPage_projectSettings).isChecked());
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME)),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanChecksumName).isChecked());
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_GENERATE_DB,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_GENERATE_DB)),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanGenerateSQLDB).isChecked());
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS)),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks).isChecked());
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_PRETTY_XML,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_PRETTY_XML)),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanPrettyXML).isChecked());
+ assertEquals(pref.getInt(CreaterepoPreferenceConstants.PREF_WORKERS,
+ prefStore.getInt(CreaterepoPreferenceConstants.PREF_WORKERS)),
+ Integer.parseInt(bot.textWithLabel(Messages.CreaterepoPreferencePage_numWorkers).getText()));
+ assertEquals(pref.getInt(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT,
+ prefStore.getInt(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT)),
+ Integer.parseInt(bot.textWithLabel(Messages.CreaterepoPreferencePage_numChangelogLimit).getText()));
+ assertEquals(pref.getBoolean(CreaterepoPreferenceConstants.PREF_CHECK_TS,
+ prefStore.getDefaultBoolean(CreaterepoPreferenceConstants.PREF_CHECK_TS)),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanCheckTS).isChecked());
+ assertTrue(bot.radio(pref.get(CreaterepoPreferenceConstants.PREF_CHECKSUM,
+ prefStore.getDefaultString(CreaterepoPreferenceConstants.PREF_CHECKSUM))).isSelected());
+ assertTrue(bot.radio(pref.get(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE,
+ prefStore.getDefaultString(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE))).isSelected());
+ }
+
+ /**
+ * Open the resource perspective.
+ */
+ private static void openResourcePerspective() {
+ // turn on the resource perspective
+ bot.menu(ICreaterepoTestConstants.WINDOW).menu(ICreaterepoTestConstants.SHOW_VIEW)
+ .menu(ICreaterepoTestConstants.OTHER).click();
+ SWTBotShell shell = bot.shell(ICreaterepoTestConstants.SHOW_VIEW);
+ shell.activate();
+ bot.tree().expandNode(ICreaterepoTestConstants.GENERAL_NODE).select(ICreaterepoTestConstants.NAVIGATOR);
+ bot.button(ICreaterepoTestConstants.OK_BUTTON).click();
+ }
+
+ /**
+ * Open the property page.
+ */
+ private void openPropertyPage() {
+ SWTBotView view = bot.viewByTitle(ICreaterepoTestConstants.NAVIGATOR);
+ view.show();
+ // select the .repo file from the package explorer and open its properties
+ Composite packageExplorer = (Composite)view.getWidget();
+ assertNotNull(packageExplorer);
+ Tree swtTree = bot.widget(WidgetMatcherFactory.widgetOfType(Tree.class), packageExplorer);
+ assertNotNull(swtTree);
+ SWTBotTree botTree = new SWTBotTree(swtTree);
+ botTree.expandNode(ICreaterepoTestConstants.PROJECT_NAME).getNode(ICreaterepoTestConstants.REPO_NAME)
+ .contextMenu(ICreaterepoTestConstants.PROPERTIES).click();
+ // get a handle of the property shell
+ SWTBotShell propertyShell = bot.shell(String.format(ICreaterepoTestConstants.PROPERTIES_SHELL,
+ ICreaterepoTestConstants.REPO_NAME));
+ propertyShell.activate();
+ bot.tree().expandNode(ICreaterepoTestConstants.CREATEREPO_CATEGORY).select();
+ }
+
+}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/tests/CreaterepoPreferencePageTest.java b/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/tests/CreaterepoPreferencePageTest.java
new file mode 100644
index 0000000000..068e41a015
--- /dev/null
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/internal/rpm/createrepo/preference/tests/CreaterepoPreferencePageTest.java
@@ -0,0 +1,240 @@
+/*******************************************************************************
+ * Copyright (c) 2013 Red Hat Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are 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:
+ * Neil Guzman - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.linuxtools.internal.rpm.createrepo.preference.tests;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.IOException;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.linuxtools.internal.rpm.createrepo.Activator;
+import org.eclipse.linuxtools.internal.rpm.createrepo.Messages;
+import org.eclipse.linuxtools.rpm.createrepo.CreaterepoPreferenceConstants;
+import org.eclipse.linuxtools.rpm.createrepo.CreaterepoProject;
+import org.eclipse.linuxtools.rpm.createrepo.ICreaterepoChecksums;
+import org.eclipse.linuxtools.rpm.createrepo.ICreaterepoCompressionTypes;
+import org.eclipse.linuxtools.rpm.createrepo.tests.ICreaterepoTestConstants;
+import org.eclipse.linuxtools.rpm.createrepo.tests.TestCreaterepoProject;
+import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
+import org.eclipse.swtbot.swt.finder.exceptions.WidgetNotFoundException;
+import org.eclipse.swtbot.swt.finder.junit.SWTBotJunit4ClassRunner;
+import org.eclipse.swtbot.swt.finder.widgets.SWTBotShell;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.osgi.service.prefs.BackingStoreException;
+
+/**
+ * Tests for CreaterepoPreferencePage class.
+ */
+@RunWith(SWTBotJunit4ClassRunner.class)
+public class CreaterepoPreferencePageTest {
+
+ private static TestCreaterepoProject testProject;
+ private CreaterepoProject project;
+ private static SWTWorkbenchBot bot;
+
+ /**
+ * Initialize the test project.
+ *
+ * @throws CoreException
+ */
+ @BeforeClass
+ public static void setUpBeforeClass() throws CoreException {
+ testProject = new TestCreaterepoProject();
+ assertTrue(testProject.getProject().exists());
+ bot = new SWTWorkbenchBot();
+ testProject.restoreDefaults();
+ try {
+ bot.shell(ICreaterepoTestConstants.MAIN_SHELL).activate();
+ } catch (WidgetNotFoundException e) {
+ // cannot activate main shell, continue anyways
+ }
+ }
+
+ /**
+ * Delete the project when tests are done.
+ *
+ * @throws CoreException
+ */
+ @AfterClass
+ public static void tearDownAfterClass() throws CoreException {
+ testProject.dispose();
+ assertFalse(testProject.getProject().exists());
+ }
+
+ /**
+ * Get the CreaterepoProject at the beginning of each test.
+ *
+ * @throws CoreException
+ * @throws IOException
+ */
+ @Before
+ public void setUp() throws CoreException {
+ project = testProject.getCreaterepoProject();
+ assertNotNull(project);
+ // before doing anything with SWTBot, activate the main shell
+ try {
+ bot.shell(ICreaterepoTestConstants.MAIN_SHELL).activate();
+ } catch (WidgetNotFoundException e) {
+ // cannot activate main shell, continue anyways
+ }
+ openPreferencePage();
+ }
+
+ /**
+ * Restore the defaults for the general preference page.
+ *
+ * @throws BackingStoreException
+ */
+ @After
+ public void tearDown() throws BackingStoreException {
+ try {
+ if (bot.shell(ICreaterepoTestConstants.PREFERENCES).isActive()) {
+ bot.shell(ICreaterepoTestConstants.PREFERENCES).close();
+ }
+ } catch (WidgetNotFoundException e) {
+ // cannot close preference shell
+ }
+ testProject.restoreDefaults();
+ }
+
+ /**
+ * Test if all preferences modified in the general createrepo preference
+ * page persist to workspace preferences.
+ */
+ @Test
+ public void testChangePreferences() {
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanChecksumName).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanGenerateSQLDB).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanPrettyXML).click();
+ bot.textWithLabel(Messages.CreaterepoPreferencePage_numWorkers).setText("9"); //$NON-NLS-1$
+ bot.textWithLabel(Messages.CreaterepoPreferencePage_numChangelogLimit).setText("13"); //$NON-NLS-1$
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanCheckTS).click();
+ bot.radio(ICreaterepoChecksums.SHA512).click();
+ bot.radio(ICreaterepoCompressionTypes.XZ).click();
+ bot.button(ICreaterepoTestConstants.OK_BUTTON).click();
+ openPreferencePage();
+ // verify the changes
+ IPreferenceStore prefStore = Activator.getDefault().getPreferenceStore();
+ assertEquals(prefStore.getBoolean(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanChecksumName).isChecked());
+ assertEquals(prefStore.getBoolean(CreaterepoPreferenceConstants.PREF_GENERATE_DB),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanGenerateSQLDB).isChecked());
+ assertEquals(prefStore.getBoolean(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks).isChecked());
+ assertEquals(prefStore.getBoolean(CreaterepoPreferenceConstants.PREF_PRETTY_XML),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanPrettyXML).isChecked());
+ assertEquals(prefStore.getInt(CreaterepoPreferenceConstants.PREF_WORKERS),
+ Integer.parseInt(bot.textWithLabel(Messages.CreaterepoPreferencePage_numWorkers).getText()));
+ assertEquals(prefStore.getInt(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT),
+ Integer.parseInt(bot.textWithLabel(Messages.CreaterepoPreferencePage_numChangelogLimit).getText()));
+ assertEquals(prefStore.getBoolean(CreaterepoPreferenceConstants.PREF_CHECK_TS),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanCheckTS).isChecked());
+ assertTrue(bot.radio(prefStore.getString(CreaterepoPreferenceConstants.PREF_CHECKSUM)).isSelected());
+ assertTrue(bot.radio(prefStore.getString(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE)).isSelected());
+ }
+
+ /**
+ * Test if the restore defaults button resets the workspace preference settings back
+ * to its defaults.
+ */
+ @Test
+ public void testRestoreDefaults() {
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanChecksumName).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanGenerateSQLDB).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanPrettyXML).click();
+ bot.textWithLabel(Messages.CreaterepoPreferencePage_numWorkers).setText("9"); //$NON-NLS-1$
+ bot.textWithLabel(Messages.CreaterepoPreferencePage_numChangelogLimit).setText("13"); //$NON-NLS-1$
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanCheckTS).click();
+ bot.radio(ICreaterepoChecksums.SHA512).click();
+ bot.radio(ICreaterepoCompressionTypes.XZ).click();
+ bot.button(ICreaterepoTestConstants.OK_BUTTON).click();
+ openPreferencePage();
+ bot.button(ICreaterepoTestConstants.DEFAULTS).click();
+ bot.button(ICreaterepoTestConstants.OK_BUTTON).click();
+ // veryify the changes
+ IPreferenceStore prefStore = Activator.getDefault().getPreferenceStore();
+ assertTrue(prefStore.isDefault(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME));
+ assertTrue(prefStore.isDefault(CreaterepoPreferenceConstants.PREF_GENERATE_DB));
+ assertTrue(prefStore.isDefault(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS));
+ assertTrue(prefStore.isDefault(CreaterepoPreferenceConstants.PREF_PRETTY_XML));
+ assertTrue(prefStore.isDefault(CreaterepoPreferenceConstants.PREF_WORKERS));
+ assertTrue(prefStore.isDefault(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT));
+ assertTrue(prefStore.isDefault(CreaterepoPreferenceConstants.PREF_CHECK_TS));
+ assertTrue(prefStore.isDefault(CreaterepoPreferenceConstants.PREF_CHECKSUM));
+ assertTrue(prefStore.isDefault(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE));
+ assertTrue(prefStore.isDefault(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME));
+ assertTrue(prefStore.isDefault(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME));
+ assertTrue(prefStore.isDefault(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME));
+ }
+
+ /**
+ * Test if all preferences stay the same as it was after pressing cancel
+ * instead of ok.
+ */
+ @Test
+ public void testCancel() {
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanChecksumName).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanGenerateSQLDB).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks).click();
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanPrettyXML).click();
+ bot.textWithLabel(Messages.CreaterepoPreferencePage_numWorkers).setText("9"); //$NON-NLS-1$
+ bot.textWithLabel(Messages.CreaterepoPreferencePage_numChangelogLimit).setText("13"); //$NON-NLS-1$
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanCheckTS).click();
+ bot.radio(ICreaterepoChecksums.SHA512).click();
+ bot.radio(ICreaterepoCompressionTypes.XZ).click();
+ bot.button(ICreaterepoTestConstants.OK_BUTTON).click();
+ openPreferencePage();
+ bot.button(ICreaterepoTestConstants.DEFAULTS).click();
+ bot.button(ICreaterepoTestConstants.CANCEL_BUTTON).click();
+ openPreferencePage();
+ // verify the changes
+ IPreferenceStore prefStore = Activator.getDefault().getPreferenceStore();
+ assertEquals(prefStore.getBoolean(CreaterepoPreferenceConstants.PREF_UNIQUE_MD_NAME),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanChecksumName).isChecked());
+ assertEquals(prefStore.getBoolean(CreaterepoPreferenceConstants.PREF_GENERATE_DB),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanGenerateSQLDB).isChecked());
+ assertEquals(prefStore.getBoolean(CreaterepoPreferenceConstants.PREF_IGNORE_SYMLINKS),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanIgnoreSymlinks).isChecked());
+ assertEquals(prefStore.getBoolean(CreaterepoPreferenceConstants.PREF_PRETTY_XML),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanPrettyXML).isChecked());
+ assertEquals(prefStore.getInt(CreaterepoPreferenceConstants.PREF_WORKERS),
+ Integer.parseInt(bot.textWithLabel(Messages.CreaterepoPreferencePage_numWorkers).getText()));
+ assertEquals(prefStore.getInt(CreaterepoPreferenceConstants.PREF_CHANGELOG_LIMIT),
+ Integer.parseInt(bot.textWithLabel(Messages.CreaterepoPreferencePage_numChangelogLimit).getText()));
+ assertEquals(prefStore.getBoolean(CreaterepoPreferenceConstants.PREF_CHECK_TS),
+ bot.checkBox(Messages.CreaterepoPreferencePage_booleanCheckTS).isChecked());
+ assertTrue(bot.radio(prefStore.getString(CreaterepoPreferenceConstants.PREF_CHECKSUM)).isSelected());
+ assertTrue(bot.radio(prefStore.getString(CreaterepoPreferenceConstants.PREF_COMPRESSION_TYPE)).isSelected());
+ }
+
+ /**
+ * Open the preference page.
+ */
+ private void openPreferencePage() {
+ // open the preferences window
+ bot.menu(ICreaterepoTestConstants.WINDOW).menu(ICreaterepoTestConstants.PREFERENCES).click();
+ SWTBotShell shell = bot.shell(ICreaterepoTestConstants.PREFERENCES);
+ shell.activate();
+ bot.tree().select(ICreaterepoTestConstants.CREATEREPO_CATEGORY);
+ }
+
+}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/rpm/createrepo/tests/AllTests.java b/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/rpm/createrepo/tests/AllTests.java
index ba1b260aaf..07f5f24abc 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/rpm/createrepo/tests/AllTests.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/rpm/createrepo/tests/AllTests.java
@@ -14,7 +14,10 @@ import org.eclipse.linuxtools.internal.rpm.createrepo.form.tests.CreaterepoImpor
import org.eclipse.linuxtools.internal.rpm.createrepo.form.tests.CreaterepoMetadataPageTest;
import org.eclipse.linuxtools.internal.rpm.createrepo.form.tests.CreaterepoRepoFormEditorTest;
import org.eclipse.linuxtools.internal.rpm.createrepo.listener.tests.CreaterepoResourceListenerTest;
+import org.eclipse.linuxtools.internal.rpm.createrepo.preference.tests.CreaterepoDeltaPropertyPageTest;
+import org.eclipse.linuxtools.internal.rpm.createrepo.preference.tests.CreaterepoGeneralPropertyPageTest;
import org.eclipse.linuxtools.internal.rpm.createrepo.preference.tests.CreaterepoPreferenceInitializationTest;
+import org.eclipse.linuxtools.internal.rpm.createrepo.preference.tests.CreaterepoPreferencePageTest;
import org.eclipse.linuxtools.internal.rpm.createrepo.tests.CreaterepoCommandCreatorTest;
import org.eclipse.linuxtools.internal.rpm.createrepo.tests.CreaterepoTest;
import org.eclipse.linuxtools.internal.rpm.createrepo.tree.tests.CreaterepoTreeCategoryTest;
@@ -29,7 +32,8 @@ import org.junit.runners.Suite.SuiteClasses;
CreaterepoProjectTest.class, CreaterepoTreeCategoryTest.class, CreaterepoTreeTest.class,
CreaterepoWizardTest.class, CreaterepoTest.class, CreaterepoPreferenceInitializationTest.class,
CreaterepoRepoFormEditorTest.class, CreaterepoImportRPMsPageTest.class, CreaterepoMetadataPageTest.class,
- CreaterepoResourceListenerTest.class, CreaterepoCommandCreatorTest.class})
+ CreaterepoResourceListenerTest.class, CreaterepoCommandCreatorTest.class,
+ CreaterepoPreferencePageTest.class, CreaterepoGeneralPropertyPageTest.class, CreaterepoDeltaPropertyPageTest.class})
public class AllTests {
//Nothing here as annotation is important
}
diff --git a/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/rpm/createrepo/tests/ICreaterepoTestConstants.java b/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/rpm/createrepo/tests/ICreaterepoTestConstants.java
index 2166080df4..2a7244113d 100644
--- a/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/rpm/createrepo/tests/ICreaterepoTestConstants.java
+++ b/rpm/org.eclipse.linuxtools.rpm.createrepo.tests/src/org/eclipse/linuxtools/rpm/createrepo/tests/ICreaterepoTestConstants.java
@@ -31,8 +31,12 @@ public interface ICreaterepoTestConstants {
String CANCEL_BUTTON = "Cancel"; //$NON-NLS-1$
String WINDOW = "Window"; //$NON-NLS-1$
String SHOW_VIEW = "Show View"; //$NON-NLS-1$
+ String PREFERENCES = "Preferences"; //$NON-NLS-1$
String OK_BUTTON = "OK"; //$NON-NLS-1$
String OPEN = "Open"; //$NON-NLS-1$
+ String DEFAULTS = "Restore Defaults"; //$NON-NLS-1$
+ String PROPERTIES = "Properties"; //$NON-NLS-1$
+ String PROPERTIES_SHELL = "Properties for %s"; //$NON-NLS-1$
/*
* Views
@@ -71,6 +75,7 @@ public interface ICreaterepoTestConstants {
/*
* Preferences used
*/
+ String DELTAS = "Deltas"; //$NON-NLS-1$
String[] PREFS_ARRAY = {
CreaterepoPreferenceConstants.PREF_DISTRO_TAG,
CreaterepoPreferenceConstants.PREF_CONTENT_TAG,

Back to the top