]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4411 refactor ws-client for user deactivation
authorSimon Brandhof <simon.brandhof@gmail.com>
Thu, 27 Jun 2013 14:40:02 +0000 (16:40 +0200)
committerSimon Brandhof <simon.brandhof@gmail.com>
Thu, 27 Jun 2013 14:40:11 +0000 (16:40 +0200)
sonar-ws-client/src/main/java/org/sonar/wsclient/user/DefaultUserClient.java
sonar-ws-client/src/main/java/org/sonar/wsclient/user/UserClient.java
sonar-ws-client/src/test/java/org/sonar/wsclient/user/DefaultUserClientTest.java

index 4b21fe35839fe0806fd43971cd5ce3a39c2c7d7a..9c1d7cbcb85c996e2f8adbf04b1d94faa88cdf0e 100644 (file)
@@ -23,6 +23,7 @@ import org.json.simple.JSONValue;
 import org.sonar.wsclient.internal.HttpRequestFactory;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -35,7 +36,7 @@ public class DefaultUserClient implements UserClient {
   private static final String SEARCH_URL = BASE_URL + "search";
   private static final String CREATE_URL = BASE_URL + "create";
   private static final String UPDATE_URL = BASE_URL + "update";
-  private static final String DELETE_URL = BASE_URL + "delete";
+  private static final String DEACTIVATE_URL = BASE_URL + "deactivate";
 
   private final HttpRequestFactory requestFactory;
 
@@ -76,8 +77,18 @@ public class DefaultUserClient implements UserClient {
     return new User(jsonUser);
   }
 
+  /**
+   * TODO to be removed
+   */
   @Override
   public void delete(UserParameters userParameters) {
-    requestFactory.post(DELETE_URL, userParameters.urlParams());
+    requestFactory.post(DEACTIVATE_URL, userParameters.urlParams());
+  }
+
+  @Override
+  public void deactivate(String login) {
+    Map<String, Object> params = new HashMap<String, Object>();
+    params.put("login", login);
+    requestFactory.post(DEACTIVATE_URL, params);
   }
 }
index fe0e620f5c762a2b1d98c49105530b5e5713c057..762bc8cdaf160a8c08a838cdcb33d333f6458a8a 100644 (file)
@@ -28,9 +28,24 @@ public interface UserClient {
 
   List<User> find(UserQuery query);
 
+  /**
+   * @since 3.7
+   */
   User create(UserParameters userParameters);
 
+  /**
+   * @since 3.7
+   */
   User update(UserParameters userParameters);
 
+  /**
+   * TODO to remove
+   */
+  @Deprecated
   void delete(UserParameters userParameters);
+
+  /**
+   * @since 3.7
+   */
+  void deactivate(String login);
 }
index 2a7ea3024919876a6ffcc3106823db3ca8806487..90e6865f28bbe52550afbfb209214774184d8056 100644 (file)
@@ -89,13 +89,12 @@ public class DefaultUserClientTest {
   }
   
   @Test
-  public void should_delete_user() throws Exception {
+  public void should_deactivate_user() throws Exception {
     httpServer.stubStatusCode(200);
 
-    UserParameters params = UserParameters.create().login("daveloper");
-    client.delete(params);
+    client.deactivate("daveloper");
 
-    assertThatRequestUrlContains("/api/users/delete?", "login=daveloper");
+    assertThatRequestUrlContains("/api/users/deactivate?", "login=daveloper");
   }
 
   private void assertThatRequestUrlContains(String baseUrl, String... parameters) {