Merge remote-tracking branch 'origin/inetaddress'

- Tested locally against unit tests
- TravisCI build passed: https://travis-ci.org/apache/cloudstack/builds/41990351
- Manual QA passed for basic auth and saml auth using default IDP settings

Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com>

Conflicts:
        server/src/com/cloud/api/ApiServlet.java


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7ff31f1b
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7ff31f1b
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7ff31f1b

Branch: refs/heads/useraccount-refactoring
Commit: 7ff31f1b223fbc54d04a0610013dfdd76a618ed8
Parents: 4e5b3d0 72ba98b
Author: Rohit Yadav <rohit.ya...@shapeblue.com>
Authored: Tue Nov 25 14:31:23 2014 +0530
Committer: Rohit Yadav <rohit.ya...@shapeblue.com>
Committed: Tue Nov 25 14:32:09 2014 +0530

----------------------------------------------------------------------
 .../apache/cloudstack/api/ApiServerService.java |  3 +-
 .../cloudstack/api/auth/APIAuthenticator.java   |  3 +-
 .../contrail/management/MockAccountManager.java |  3 +-
 .../command/GetServiceProviderMetaDataCmd.java  |  3 +-
 .../command/SAML2LoginAPIAuthenticatorCmd.java  |  3 +-
 .../command/SAML2LogoutAPIAuthenticatorCmd.java |  3 +-
 .../GetServiceProviderMetaDataCmdTest.java      |  6 ++--
 .../SAML2LoginAPIAuthenticatorCmdTest.java      |  5 +--
 .../SAML2LogoutAPIAuthenticatorCmdTest.java     |  3 +-
 pom.xml                                         |  6 ++++
 server/src/com/cloud/api/ApiServer.java         |  2 +-
 server/src/com/cloud/api/ApiServlet.java        |  7 +++--
 .../auth/DefaultLoginAPIAuthenticatorCmd.java   |  3 +-
 .../auth/DefaultLogoutAPIAuthenticatorCmd.java  |  3 +-
 server/src/com/cloud/user/AccountManager.java   |  3 +-
 .../src/com/cloud/user/AccountManagerImpl.java  | 12 +++-----
 server/test/com/cloud/api/ApiServletTest.java   | 14 +++++----
 .../com/cloud/user/MockAccountManagerImpl.java  |  3 +-
 utils/pom.xml                                   |  4 +++
 utils/src/com/cloud/utils/net/NetUtils.java     | 32 ++------------------
 20 files changed, 60 insertions(+), 61 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7ff31f1b/server/src/com/cloud/api/ApiServer.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/api/ApiServer.java
index b335a66,435efa0..435efa0
mode 100644,100755..100644
--- a/server/src/com/cloud/api/ApiServer.java
+++ b/server/src/com/cloud/api/ApiServer.java

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7ff31f1b/server/src/com/cloud/api/ApiServlet.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/api/ApiServlet.java
index e1f7927,a4266f7..3c73375
--- a/server/src/com/cloud/api/ApiServlet.java
+++ b/server/src/com/cloud/api/ApiServlet.java
@@@ -18,10 -18,8 +18,11 @@@ package com.cloud.api
  
  import java.io.UnsupportedEncodingException;
  import java.net.URLDecoder;
 +import java.util.Arrays;
 +import java.util.Collections;
+ import java.net.InetAddress;
  import java.util.HashMap;
 +import java.util.List;
  import java.util.Map;
  
  import javax.inject.Inject;

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7ff31f1b/server/src/com/cloud/user/AccountManager.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/user/AccountManager.java
index 194c5d2,7b9e093..7b9e093
mode 100644,100755..100644
--- a/server/src/com/cloud/user/AccountManager.java
+++ b/server/src/com/cloud/user/AccountManager.java

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7ff31f1b/server/src/com/cloud/user/AccountManagerImpl.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/user/AccountManagerImpl.java
index 3c00f91,f816ee4..f816ee4
mode 100644,100755..100644
--- a/server/src/com/cloud/user/AccountManagerImpl.java
+++ b/server/src/com/cloud/user/AccountManagerImpl.java

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7ff31f1b/server/test/com/cloud/api/ApiServletTest.java
----------------------------------------------------------------------
diff --cc server/test/com/cloud/api/ApiServletTest.java
index 2089477,1d20bdf..57caa44
--- a/server/test/com/cloud/api/ApiServletTest.java
+++ b/server/test/com/cloud/api/ApiServletTest.java
@@@ -84,10 -83,9 +86,10 @@@ public class ApiServletTest 
  
      ApiServlet servlet;
  
 +    @SuppressWarnings("unchecked")
      @Before
      public void setup() throws SecurityException, NoSuchFieldException,
-             IllegalArgumentException, IllegalAccessException, IOException {
+             IllegalArgumentException, IllegalAccessException, IOException, 
UnknownHostException {
          servlet = new ApiServlet();
          responseWriter = new StringWriter();
          Mockito.when(response.getWriter()).thenReturn(
@@@ -196,9 -194,8 +198,9 @@@
                  Mockito.any(StringBuilder.class));
      }
  
 +    @SuppressWarnings("unchecked")
      @Test
-     public void processRequestInContextLogout() {
+     public void processRequestInContextLogout() throws UnknownHostException {
          Mockito.when(request.getMethod()).thenReturn("GET");
          Mockito.when(request.getSession(Mockito.anyBoolean())).thenReturn(
                  session);
@@@ -237,37 -234,6 +239,37 @@@
  
          Mockito.verify(authManager).getAPIAuthenticator("login");
          Mockito.verify(authenticator).authenticate(Mockito.anyString(), 
Mockito.anyMap(), Mockito.isA(HttpSession.class),
-                 Mockito.anyString(), Mockito.anyString(), 
Mockito.isA(StringBuilder.class), Mockito.isA(HttpServletResponse.class));
+                 Mockito.eq(InetAddress.getByName("127.0.0.1")), 
Mockito.anyString(), Mockito.isA(StringBuilder.class), 
Mockito.isA(HttpServletResponse.class));
      }
 +
 +    @Test
 +    public void getClientAddressWithXForwardedFor() {
 +        
Mockito.when(request.getHeader(Mockito.eq("X-Forwarded-For"))).thenReturn("192.168.1.1");
 +        Assert.assertEquals("192.168.1.1", 
ApiServlet.getClientAddress(request));
 +    }
 +
 +    @Test
 +    public void getClientAddressWithHttpXForwardedFor() {
 +        
Mockito.when(request.getHeader(Mockito.eq("HTTP_X_FORWARDED_FOR"))).thenReturn("192.168.1.1");
 +        Assert.assertEquals("192.168.1.1", 
ApiServlet.getClientAddress(request));
 +    }
 +
 +    @Test
 +    public void getClientAddressWithXRemoteAddr() {
 +        
Mockito.when(request.getHeader(Mockito.eq("Remote_Addr"))).thenReturn("192.168.1.1");
 +        Assert.assertEquals("192.168.1.1", 
ApiServlet.getClientAddress(request));
 +    }
 +
 +    @Test
 +    public void getClientAddressWithHttpClientIp() {
 +        
Mockito.when(request.getHeader(Mockito.eq("HTTP_CLIENT_IP"))).thenReturn("192.168.1.1");
 +        Assert.assertEquals("192.168.1.1", 
ApiServlet.getClientAddress(request));
 +    }
 +
 +    @Test
 +    public void getClientAddressDefault() {
 +        Mockito.when(request.getRemoteAddr()).thenReturn("127.0.0.1");
 +        Assert.assertEquals("127.0.0.1", 
ApiServlet.getClientAddress(request));
 +    }
 +
  }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7ff31f1b/utils/src/com/cloud/utils/net/NetUtils.java
----------------------------------------------------------------------
diff --cc utils/src/com/cloud/utils/net/NetUtils.java
index 1f41825,8875bb9..8875bb9
mode 100644,100755..100644
--- a/utils/src/com/cloud/utils/net/NetUtils.java
+++ b/utils/src/com/cloud/utils/net/NetUtils.java

Reply via email to