You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2016/06/05 20:41:25 UTC
svn commit: r1746950 -
/directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/PreferencesTest.java
Author: seelmann
Date: Sun Jun 5 20:41:25 2016
New Revision: 1746950
URL: http://svn.apache.org/viewvc?rev=1746950&view=rev
Log:
Add test for DIRSTUDIO-1095 (NullPointerException on certificates preference page)
Modified:
directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/PreferencesTest.java
Modified: directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/PreferencesTest.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/PreferencesTest.java?rev=1746950&r1=1746949&r2=1746950&view=diff
==============================================================================
--- directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/PreferencesTest.java (original)
+++ directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/PreferencesTest.java Sun Jun 5 20:41:25 2016
@@ -21,17 +21,22 @@
package org.apache.directory.studio.test.integration.ui;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.io.File;
import java.net.URL;
import java.nio.charset.StandardCharsets;
+import java.security.cert.X509Certificate;
+import java.util.Date;
import java.util.List;
import org.apache.directory.api.util.FileUtils;
import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.studio.connection.core.ConnectionCorePlugin;
import org.apache.directory.studio.test.integration.ui.bots.CertificateValidationPreferencePageBot;
+import org.apache.directory.studio.test.integration.ui.bots.CertificateViewerDialogBot;
import org.apache.directory.studio.test.integration.ui.bots.PreferencesBot;
import org.apache.directory.studio.test.integration.ui.bots.StudioBot;
import org.apache.directory.studio.test.integration.ui.bots.utils.FrameworkRunnerWithScreenshotCaptureListener;
@@ -114,4 +119,56 @@ public class PreferencesTest extends Abs
assertFalse( file.exists() );
}
+
+ /**
+ * Test for DIRSTUDIO-1095
+ * (NullPointerException on certificates preference page).
+ */
+ @Test
+ public void testCertificatValidationPage() throws Exception
+ {
+ // verify there is no certificate yet.
+ PreferencesBot preferencesBot = studioBot.openPreferences();
+ CertificateValidationPreferencePageBot pageBot = preferencesBot.openCertificatValidationPage();
+ pageBot.activatePermanentTab();
+ assertEquals( 0, pageBot.getCertificateCount() );
+ pageBot.activateTemporaryTab();
+ assertEquals( 0, pageBot.getCertificateCount() );
+ preferencesBot.clickCancelButton();
+
+ // add a certificate (not possible via native file dialog)
+ Date startDate = new Date( System.currentTimeMillis() - 1000 );
+ Date endDate = new Date( System.currentTimeMillis() + 1000 );
+ X509Certificate certificate = CertificateUtils.createCertificate( "cn=localhost", "cn=localhost", startDate,
+ endDate, CertificateUtils.createKeyPair() );
+ ConnectionCorePlugin.getDefault().getPermanentTrustStoreManager().addCertificate( certificate );
+
+ // verify there is one certificate now
+ preferencesBot = studioBot.openPreferences();
+ pageBot = preferencesBot.openCertificatValidationPage();
+ pageBot.activatePermanentTab();
+ assertEquals( 1, pageBot.getCertificateCount() );
+ pageBot.activateTemporaryTab();
+ assertEquals( 0, pageBot.getCertificateCount() );
+
+ // view the certificate
+ pageBot.activatePermanentTab();
+ pageBot.selectCertificate( 0 );
+ CertificateViewerDialogBot certificateViewerDialogBot = pageBot.clickViewButton();
+ assertTrue( certificateViewerDialogBot.isVisible() );
+ certificateViewerDialogBot.clickCloseButton();
+
+ // delete the certificate
+ pageBot.clickRemoveButton();
+
+ // verify there is no certificate left
+ pageBot.activatePermanentTab();
+ assertEquals( 0, pageBot.getCertificateCount() );
+ pageBot.activateTemporaryTab();
+ assertEquals( 0, pageBot.getCertificateCount() );
+ assertEquals( 0, ConnectionCorePlugin.getDefault().getPermanentTrustStoreManager().getCertificates().length );
+ assertEquals( 0, ConnectionCorePlugin.getDefault().getSessionTrustStoreManager().getCertificates().length );
+ preferencesBot.clickCancelButton();
+ }
+
}