Repository: syncope
Updated Branches:
  refs/heads/1_2_X e8d8549d0 -> d2d3d3dfa
  refs/heads/master 1c90cb7df -> 44bc3e5bc


[SYNCOPE-605] Updating connector capabilities


Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/3fb39a46
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/3fb39a46
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/3fb39a46

Branch: refs/heads/1_2_X
Commit: 3fb39a46b7c33aacb2c42c9b79da07b025a718b9
Parents: b836d8c
Author: Marco Di Sabatino Di Diodoro <[email protected]>
Authored: Wed Nov 12 16:22:15 2014 +0100
Committer: Marco Di Sabatino Di Diodoro <[email protected]>
Committed: Wed Nov 12 16:22:15 2014 +0100

----------------------------------------------------------------------
 .../console/pages/ConnectorModalPage.java       | 15 +++++++-
 .../apache/syncope/console/AbstractTest.java    |  2 +-
 .../syncope/console/ConnInstanceTestITCase.java | 39 ++++++++++++++++++++
 .../syncope/console/EditProfileTestITCase.java  |  4 +-
 .../syncope/core/rest/ConnectorTestITCase.java  | 14 +++++++
 5 files changed, 70 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/3fb39a46/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java
----------------------------------------------------------------------
diff --git 
a/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java
 
b/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java
index a2a814e..7ec19a9 100644
--- 
a/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java
+++ 
b/console/src/main/java/org/apache/syncope/console/pages/ConnectorModalPage.java
@@ -41,6 +41,8 @@ import 
org.apache.syncope.console.wicket.markup.html.form.AjaxTextFieldPanel;
 import org.apache.syncope.console.wicket.markup.html.form.SpinnerFieldPanel;
 import org.apache.wicket.PageReference;
 import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.WicketEventJQueryResourceReference;
+import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
 import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import 
org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
@@ -278,7 +280,7 @@ public class ConnectorModalPage extends BaseModalPage {
 
         // form - second tab (properties)
         final ListView<ConnConfProperty> connPropView = new 
ConnConfPropertyListView("connectorProperties",
-                new PropertyModel<List<ConnConfProperty>>(this, "properties"), 
+                new PropertyModel<List<ConnConfProperty>>(this, "properties"),
                 true, connInstanceTO.getConfiguration());
         connPropView.setOutputMarkupId(true);
         connectorPropForm.add(connPropView);
@@ -321,6 +323,16 @@ public class ConnectorModalPage extends BaseModalPage {
         CheckBoxMultipleChoice<ConnectorCapability> capabilitiesPalette =
                 new 
CheckBoxMultipleChoice<ConnectorCapability>("capabilitiesPalette",
                         new PropertyModel<List<ConnectorCapability>>(this, 
"selectedCapabilities"), capabilities);
+
+        capabilitiesPalette.add(new AjaxFormChoiceComponentUpdatingBehavior() {
+
+            private static final long serialVersionUID = -1107858522700306810L;
+
+            @Override
+            protected void onUpdate(AjaxRequestTarget target) {
+            }
+        });
+
         connectorForm.add(capabilitiesPalette);
 
         // form - submit / cancel buttons
@@ -339,6 +351,7 @@ public class ConnectorModalPage extends BaseModalPage {
                 conn.getConfiguration().addAll(connPropView.getModelObject());
 
                 // Set the model object's capabilities to 
capabilitiesPalette's converted Set
+                conn.getCapabilities().clear();
                 conn.getCapabilities().addAll(selectedCapabilities.isEmpty()
                         ? EnumSet.noneOf(ConnectorCapability.class)
                         : EnumSet.copyOf(selectedCapabilities));

http://git-wip-us.apache.org/repos/asf/syncope/blob/3fb39a46/console/src/test/java/org/apache/syncope/console/AbstractTest.java
----------------------------------------------------------------------
diff --git a/console/src/test/java/org/apache/syncope/console/AbstractTest.java 
b/console/src/test/java/org/apache/syncope/console/AbstractTest.java
index f48f6ae..73af181 100644
--- a/console/src/test/java/org/apache/syncope/console/AbstractTest.java
+++ b/console/src/test/java/org/apache/syncope/console/AbstractTest.java
@@ -65,7 +65,7 @@ public abstract class AbstractTest extends TestCase {
         element.sendKeys(ADMIN);
         element = seleniumDriver.findElement(By.name("password"));
         element.sendKeys(PASSWORD);
-        seleniumDriver.findElement(By.name(":submit")).click();
+        seleniumDriver.findElement(By.name("p::submit")).click();
         
         (new WebDriverWait(seleniumDriver, 6))
                 
.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//img[@alt='Logout']")));

http://git-wip-us.apache.org/repos/asf/syncope/blob/3fb39a46/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java
----------------------------------------------------------------------
diff --git 
a/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java 
b/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java
index a6d1b10..343d4f8 100644
--- 
a/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java
+++ 
b/console/src/test/java/org/apache/syncope/console/ConnInstanceTestITCase.java
@@ -188,4 +188,43 @@ public class ConnInstanceTestITCase extends AbstractTest {
 
         seleniumDriver.findElement(By.xpath("//a[@class='w_close']")).click();
     }
+    
+    @Test
+    public void issueSyncope605() {
+        
seleniumDriver.findElement(By.xpath("//img[@alt=\"Resources\"]")).click();
+
+        
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[@id='tabs']")));
+
+        seleniumDriver.findElement(By.xpath("//div[3]/ul/li[2]/a")).click();
+        
seleniumDriver.findElement(By.xpath("//tr[8]/td[7]/div/span[13]/a")).click();
+
+        
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//iframe")));
+        seleniumDriver.switchTo().frame(0);
+        
+        wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(
+                "//div[2]/form/div[2]/div/div/div[3]/div[2]/span/select")));   
  
+        
+        assertEquals("H2-testsync",  
+                
seleniumDriver.findElement(By.xpath("//input[@name='displayName:textField']")).getAttribute("value"));
+
+        
seleniumDriver.findElement(By.xpath("//div[2]/form/div[2]/ul/li[3]/a")).click();
+        
seleniumDriver.findElement(By.xpath("//div[2]/form/div[2]/div[3]/span/input[7]")).click();
+
+        seleniumDriver.findElement(By.name("apply")).click();
+        
+        seleniumDriver.switchTo().defaultContent();
+        
+        
seleniumDriver.findElement(By.xpath("//tr[8]/td[7]/div/span[13]/a")).click();
+
+        
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//iframe")));
+        seleniumDriver.switchTo().frame(0);
+        
+        wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(
+                "//div[2]/form/div[2]/div/div/div[3]/div[2]/span/select")));   
  
+        
+        
assertFalse(seleniumDriver.findElement(By.xpath("//div[2]/form/div[2]/div[3]/span/input[7]")).isSelected());
+
+        seleniumDriver.switchTo().defaultContent();
+        seleniumDriver.findElement(By.xpath("//a[@class='w_close']")).click();
+    }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/3fb39a46/console/src/test/java/org/apache/syncope/console/EditProfileTestITCase.java
----------------------------------------------------------------------
diff --git 
a/console/src/test/java/org/apache/syncope/console/EditProfileTestITCase.java 
b/console/src/test/java/org/apache/syncope/console/EditProfileTestITCase.java
index c06e084..484a2a1 100644
--- 
a/console/src/test/java/org/apache/syncope/console/EditProfileTestITCase.java
+++ 
b/console/src/test/java/org/apache/syncope/console/EditProfileTestITCase.java
@@ -59,7 +59,7 @@ public class EditProfileTestITCase extends AbstractTest {
         element.sendKeys(ADMIN);
         element = seleniumDriver.findElement(By.name("password"));
         element.sendKeys(PASSWORD);
-        seleniumDriver.findElement(By.name(":submit")).click();
+        seleniumDriver.findElement(By.name("p::submit")).click();
         seleniumDriver.manage().timeouts().pageLoadTimeout(30, 
TimeUnit.SECONDS);
     }
     
@@ -69,7 +69,7 @@ public class EditProfileTestITCase extends AbstractTest {
         element.sendKeys("rossini");
         element = seleniumDriver.findElement(By.name("password"));
         element.sendKeys("password");
-        seleniumDriver.findElement(By.name(":submit")).click();
+        seleniumDriver.findElement(By.name("p::submit")).click();
 
         
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[@id='username']/a")));
         
seleniumDriver.findElement(By.xpath("//div[@id='username']/a")).click();

http://git-wip-us.apache.org/repos/asf/syncope/blob/3fb39a46/core/src/test/java/org/apache/syncope/core/rest/ConnectorTestITCase.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/syncope/core/rest/ConnectorTestITCase.java 
b/core/src/test/java/org/apache/syncope/core/rest/ConnectorTestITCase.java
index 4fc6450..d1063f5 100644
--- a/core/src/test/java/org/apache/syncope/core/rest/ConnectorTestITCase.java
+++ b/core/src/test/java/org/apache/syncope/core/rest/ConnectorTestITCase.java
@@ -706,4 +706,18 @@ public class ConnectorTestITCase extends AbstractTest {
             assertNotNull(e);
         }
     }
+
+    @Test
+    public void issueSYNCOPE605() {
+        
+        ConnInstanceTO connectorInstanceTO = connectorService.read(103L);
+        assertTrue(connectorInstanceTO.getCapabilities().isEmpty());
+        
+        connectorInstanceTO.getCapabilities().add(ConnectorCapability.SEARCH);
+        connectorService.update(connectorInstanceTO.getId(), 
connectorInstanceTO);
+        
+        ConnInstanceTO updatedCapabilities = 
connectorService.read(connectorInstanceTO.getId());
+        assertNotNull(updatedCapabilities.getCapabilities());
+        assertTrue(updatedCapabilities.getCapabilities().size() == 1);
+    }
 }

Reply via email to