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/11/13 01:05:08 UTC

svn commit: r1769455 - in /directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui: ./ bots/

Author: seelmann
Date: Sun Nov 13 01:05:07 2016
New Revision: 1769455

URL: http://svn.apache.org/viewvc?rev=1769455&view=rev
Log:
DIRSTUDIO-1129: Run tests with both, LDAP API and JNDI. Identified two referral tests that fail with the LDAP API

Modified:
    directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/CertificateValidationTest.java
    directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/NewConnectionWizardTest.java
    directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/NewEntryWizardTest.java
    directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ConnectionsViewBot.java
    directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/NewConnectionWizardBot.java

Modified: directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/CertificateValidationTest.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/CertificateValidationTest.java?rev=1769455&r1=1769454&r2=1769455&view=diff
==============================================================================
--- directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/CertificateValidationTest.java (original)
+++ directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/CertificateValidationTest.java Sun Nov 13 01:05:07 2016
@@ -22,6 +22,9 @@ package org.apache.directory.studio.test
 
 
 import static org.apache.directory.studio.test.integration.ui.Constants.LOCALHOST;
+import static org.hamcrest.CoreMatchers.anyOf;
+import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
@@ -474,7 +477,10 @@ public class CertificateValidationTest
         assertFalse( trustDialogBot.isIssuerUnkown() );
         trustDialogBot.selectDontTrust();
         ErrorDialogBot errorBot = trustDialogBot.clickOkButtonExpectingErrorDialog();
-        assertTrue( errorBot.getErrorMessage().contains( "SSL handshake failed" ) );
+        // LDAP API: SSL handshake failed
+        // JNDI: Untrusted certificate
+        assertThat( errorBot.getErrorMessage(),
+            anyOf( containsString( "SSL handshake failed" ), containsString( "Untrusted certificate" ) ) );
         errorBot.clickOkButton();
 
         wizardBot.clickCancelButton();
@@ -516,7 +522,10 @@ public class CertificateValidationTest
         assertFalse( trustDialogBot.isIssuerUnkown() );
         trustDialogBot.selectDontTrust();
         ErrorDialogBot errorBot = trustDialogBot.clickOkButtonExpectingErrorDialog();
-        assertTrue( errorBot.getErrorMessage().contains( "SSL handshake failed" ) );
+        // LDAP API: SSL handshake failed
+        // JNDI: Untrusted certificate
+        assertThat( errorBot.getErrorMessage(),
+            anyOf( containsString( "SSL handshake failed" ), containsString( "Untrusted certificate" ) ) );
         errorBot.clickOkButton();
 
         wizardBot.clickCancelButton();
@@ -560,7 +569,10 @@ public class CertificateValidationTest
         assertFalse( trustDialogBot.isExpired() );
         trustDialogBot.selectDontTrust();
         ErrorDialogBot errorBot = trustDialogBot.clickOkButtonExpectingErrorDialog();
-        assertTrue( errorBot.getErrorMessage().contains( "SSL handshake failed" ) );
+        // LDAP API: SSL handshake failed
+        // JNDI: Untrusted certificate
+        assertThat( errorBot.getErrorMessage(),
+            anyOf( containsString( "SSL handshake failed" ), containsString( "Untrusted certificate" ) ) );
         errorBot.clickOkButton();
 
         wizardBot.clickCancelButton();

Modified: directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/NewConnectionWizardTest.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/NewConnectionWizardTest.java?rev=1769455&r1=1769454&r2=1769455&view=diff
==============================================================================
--- directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/NewConnectionWizardTest.java (original)
+++ directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/NewConnectionWizardTest.java Sun Nov 13 01:05:07 2016
@@ -24,6 +24,7 @@ package org.apache.directory.studio.test
 import static org.apache.directory.studio.test.integration.ui.Constants.LOCALHOST;
 import static org.apache.directory.studio.test.integration.ui.Constants.LOCALHOST_ADDRESS;
 import static org.hamcrest.CoreMatchers.containsString;
+import static org.hamcrest.CoreMatchers.anyOf;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -415,8 +416,10 @@ public class NewConnectionWizardTest ext
         // click "Check Network Parameter" button and get the result
         String result1 = wizardBot.clickCheckNetworkParameterButton();
         assertNotNull( "Expected Error", result1 );
-        assertTrue( "'Connection refused' message must occur in error message",
-            result1.contains( "Connection refused" ) );
+        // LDAP API: Connection refused
+        // JNDI: The connection failed
+        assertThat( result1,
+            anyOf( containsString( "Connection refused" ), containsString( "The connection failed" ) ) );
 
         // enter connection parameter with invalid host name
         String hostname = "qwertzuiop.asdfghjkl.yxcvbnm";
@@ -427,8 +430,10 @@ public class NewConnectionWizardTest ext
         String result2 = wizardBot.clickCheckNetworkParameterButton();
         System.out.println( result2 );
         assertNotNull( "Expected Error", result2 );
-        assertThat( "'could not be resolved' message must occur in error message", result2,
-            containsString( "could not be resolved" ) );
+        // LDAP API: could not be resolved
+        // JNDI: The connection failed
+        assertThat( result2,
+            anyOf( containsString( "could not be resolved" ), containsString( "The connection failed" ) ) );
         assertThat( "Unknown host name must occur in error message", result2, containsString( hostname ) );
 
         // disabled this test because it does not work properly

Modified: directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/NewEntryWizardTest.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/NewEntryWizardTest.java?rev=1769455&r1=1769454&r2=1769455&view=diff
==============================================================================
--- directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/NewEntryWizardTest.java (original)
+++ directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/NewEntryWizardTest.java Sun Nov 13 01:05:07 2016
@@ -35,6 +35,7 @@ import org.apache.directory.api.ldap.mod
 import org.apache.directory.api.ldap.model.name.Dn;
 import org.apache.directory.studio.connection.core.Connection;
 import org.apache.directory.studio.connection.core.Connection.ReferralHandlingMethod;
+import org.apache.directory.studio.connection.core.ConnectionParameter.NetworkProvider;
 import org.apache.directory.studio.ldapbrowser.core.model.IBrowserConnection;
 import org.apache.directory.studio.test.integration.ui.bots.BrowserViewBot;
 import org.apache.directory.studio.test.integration.ui.bots.ConnectionsViewBot;
@@ -284,6 +285,9 @@ public class NewEntryWizardTest extends
     @Test
     public void testCreateEntryBelowReferralObjectCancel()
     {
+        // TODO: DIRSTUDIO-1129: doesn't work with LDAP API!!!
+        connection.getConnectionParameter().setNetworkProvider( NetworkProvider.JNDI );
+
         // set ManageDsaIT control
         connection.getConnectionParameter().setExtendedIntProperty(
             IBrowserConnection.CONNECTION_PARAMETER_REFERRALS_HANDLING_METHOD, ReferralHandlingMethod.IGNORE.ordinal() );
@@ -330,6 +334,9 @@ public class NewEntryWizardTest extends
     @Test
     public void testCreateEntryBelowReferralObjectFollow()
     {
+        // TODO: DIRSTUDIO-1129: doesn't work with LDAP API!!!
+        connection.getConnectionParameter().setNetworkProvider( NetworkProvider.JNDI );
+
         // set ManageDsaIT control
         connection.getConnectionParameter().setExtendedIntProperty(
             IBrowserConnection.CONNECTION_PARAMETER_REFERRALS_HANDLING_METHOD, ReferralHandlingMethod.IGNORE.ordinal() );

Modified: directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ConnectionsViewBot.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ConnectionsViewBot.java?rev=1769455&r1=1769454&r2=1769455&view=diff
==============================================================================
--- directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ConnectionsViewBot.java (original)
+++ directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/ConnectionsViewBot.java Sun Nov 13 01:05:07 2016
@@ -22,6 +22,8 @@ package org.apache.directory.studio.test
 
 import static org.apache.directory.studio.test.integration.ui.Constants.LOCALHOST;
 
+import java.util.Random;
+
 import org.apache.directory.studio.connection.core.Connection;
 import org.apache.directory.studio.connection.core.ConnectionCorePlugin;
 import org.apache.directory.studio.connection.core.ConnectionFolder;
@@ -53,7 +55,19 @@ public class ConnectionsViewBot
     public NewConnectionWizardBot openNewConnectionWizard()
     {
         ContextMenuHelper.clickContextMenu( getConnectionsTree(), "New Connection..." );
-        return new NewConnectionWizardBot();
+        NewConnectionWizardBot newConnectionWizardBot = new NewConnectionWizardBot();
+        
+        // choose random network provider to test both, LDAP API and JNDI
+        if ( new Random().nextBoolean() )
+        {
+            newConnectionWizardBot.selectLdapApiProvider();
+        }
+        else
+        {
+            newConnectionWizardBot.selectJndiProvider();
+        }
+
+        return newConnectionWizardBot;
     }
 
 
@@ -156,7 +170,9 @@ public class ConnectionsViewBot
 
         ConnectionManager connectionManager = ConnectionCorePlugin.getDefault().getConnectionManager();
         ConnectionParameter connectionParameter = new ConnectionParameter();
-        connectionParameter.setNetworkProvider( NetworkProvider.JNDI );
+        // choose random network provider to test both, LDAP API and JNDI
+        connectionParameter
+            .setNetworkProvider( NetworkProvider.values()[new Random().nextInt( NetworkProvider.values().length )] );
         connectionParameter.setName( name );
         connectionParameter.setHost( LOCALHOST );
         connectionParameter.setPort( port );

Modified: directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/NewConnectionWizardBot.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/NewConnectionWizardBot.java?rev=1769455&r1=1769454&r2=1769455&view=diff
==============================================================================
--- directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/NewConnectionWizardBot.java (original)
+++ directory/studio/trunk/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/bots/NewConnectionWizardBot.java Sun Nov 13 01:05:07 2016
@@ -34,6 +34,9 @@ public class NewConnectionWizardBot exte
     private static final String CONNECTION_NAME = "Connection name:";
     private static final String HOSTNAME = "Hostname:";
     private static final String PORT = "Port:";
+    private static final String PROVIDER = "Provider:";
+    private static final String JNDI = "JNDI (Java Naming and Directory Interface)";
+    private static final String LDAP_API = "Apache Directory LDAP Client API";
     private static final String CHECK_AUTHENTICATION = "Check Authentication";
     private static final String CHECK_NETWORK_PARAMETER = "Check Network Parameter";
     private static final String BASE_DN = "Base DN:";
@@ -104,6 +107,20 @@ public class NewConnectionWizardBot exte
     }
 
 
+    public void selectJndiProvider()
+    {
+        SWTBotCombo providerCombo = bot.comboBoxWithLabel( PROVIDER );
+        providerCombo.setSelection( JNDI );
+    }
+
+
+    public void selectLdapApiProvider()
+    {
+        SWTBotCombo providerCombo = bot.comboBoxWithLabel( PROVIDER );
+        providerCombo.setSelection( LDAP_API );
+    }
+
+
     public boolean isSimpleAuthenticationSelected()
     {
         SWTBotCombo authMethodCombo = bot.comboBoxInGroup( AUTHENTICATION_METHOD );