-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/49119/
-----------------------------------------------------------

Review request for Ambari, Myroslav Papirkovskyy, Robert Levas, and Sumit 
Mohanty.


Bugs: AMBARI-17383
    https://issues.apache.org/jira/browse/AMBARI-17383


Repository: ambari


Description
-------

AMBARI-17383: User names should be case insensitive

** Issue: **
It should not be possible to add user names that differ only by case. 

** Fix: **
1. Make a case insensitive string comparision against the DB Users table to see 
if the input user name already exists.
2. Added a new UT to test this change.


Diffs
-----

  
ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
 349668fe57bedbe45be26a03cc92b9fd4a29483b 
  ambari-server/src/main/java/org/apache/ambari/server/orm/dao/UserDAO.java 
d209cfcfc5ce5a78354220cf084e9a394841af49 
  
ambari-server/src/main/java/org/apache/ambari/server/security/authorization/User.java
 720918b646d4a70b9b53a1d2da05dd391adb03e7 
  
ambari-server/src/main/java/org/apache/ambari/server/security/authorization/Users.java
 1a7b58db3759dff876ca0e909ab62170c8f49955 
  
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/UserResourceProviderTest.java
 dc22bb914df36bb9b3fbf27d3c2fbf1251489553 
  
ambari-server/src/test/java/org/apache/ambari/server/security/authorization/TestUsers.java
 44fb73c2644a75a8165425b97137dac20042972b 

Diff: https://reviews.apache.org/r/49119/diff/


Testing
-------

** 1. mvn clean install **

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Ambari Main ....................................... SUCCESS [5.972s]
[INFO] Apache Ambari Project POM ......................... SUCCESS [0.038s]
[INFO] Ambari Web ........................................ SUCCESS [24.668s]
[INFO] Ambari Views ...................................... SUCCESS [1.161s]
[INFO] Ambari Admin View ................................. SUCCESS [9.686s]
[INFO] ambari-metrics .................................... SUCCESS [0.711s]
[INFO] Ambari Metrics Common ............................. SUCCESS [0.868s]
[INFO] Ambari Metrics Hadoop Sink ........................ SUCCESS [1.184s]
[INFO] Ambari Metrics Flume Sink ......................... SUCCESS [0.648s]
[INFO] Ambari Metrics Kafka Sink ......................... SUCCESS [0.671s]
[INFO] Ambari Metrics Storm Sink ......................... SUCCESS [1.630s]
[INFO] Ambari Metrics Collector .......................... SUCCESS [9.722s]
[INFO] Ambari Metrics Monitor ............................ SUCCESS [2.332s]
[INFO] Ambari Metrics Grafana ............................ SUCCESS [0.885s]
[INFO] Ambari Metrics Assembly ........................... SUCCESS [1:34.064s]
[INFO] Ambari Server ..................................... SUCCESS [3:11.990s]
[INFO] Ambari Functional Tests ........................... SUCCESS [1.250s]
[INFO] Ambari Agent ...................................... SUCCESS [26.046s]
[INFO] Ambari Client ..................................... SUCCESS [0.053s]
[INFO] Ambari Python Client .............................. SUCCESS [0.975s]
[INFO] Ambari Groovy Client .............................. SUCCESS [2.234s]
[INFO] Ambari Shell ...................................... SUCCESS [0.047s]
[INFO] Ambari Python Shell ............................... SUCCESS [0.721s]
[INFO] Ambari Groovy Shell ............................... SUCCESS [1.045s]
[INFO] ambari-logsearch .................................. SUCCESS [0.262s]
[INFO] Ambari Logsearch Appender ......................... SUCCESS [0.397s]
[INFO] Ambari Logsearch Solr Client ...................... SUCCESS [1.177s]
[INFO] Ambari Logsearch Portal ........................... SUCCESS [6.714s]
[INFO] Ambari Logsearch Log Feeder ....................... SUCCESS [3.364s]
[INFO] Ambari Logsearch Assembly ......................... SUCCESS [0.087s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6:31.357s
[INFO] Finished at: Wed Jun 22 17:10:48 PDT 2016
[INFO] Final Memory: 327M/1373M
[INFO] ------------------------------------------------------------------------

** 2. mvn test -DskipPythonTests -Dtest=User*Test **

Results :

Tests run: 62, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 53.870s
[INFO] Finished at: Wed Jun 22 17:12:06 PDT 2016
[INFO] Final Memory: 56M/933M
[INFO] ------------------------------------------------------------------------

** 3. mvn test -DskipSurefireTests **

----------------------------------------------------------------------
Ran 261 tests in 6.729s

OK
----------------------------------------------------------------------
Total run:1072
Total errors:0
Total failures:0
OK
INFO: AMBARI_SERVER_LIB is not set, using default /usr/lib/ambari-server
INFO: Return code from stack upgrade command, retcode = 0
StackAdvisor implementation for stack HDP1, version 2.0.6 was not found
Returning DefaultStackAdvisor implementation
StackAdvisor implementation for stack XYZ, version 1.0.0 was loaded
StackAdvisor implementation for stack XYZ, version 1.0.1 was loaded
Returning XYZ101StackAdvisor implementation
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:08.421s
[INFO] Finished at: Wed Jun 22 17:14:12 PDT 2016
[INFO] Final Memory: 54M/920M
[INFO] ------------------------------------------------------------------------

** 4. Manual tests **

Set up a one node cluster with the latest build from trunk and replaced 
ambari-server JAR with the one from the local build.
1. Create a user ABCD. Was able to create the user successfully.
2. Create a user abcd. Unable to create the user.
3. curl -u admin:admin -H "X-Requested-By: ambari" -X GET 
http://localhost:8080/api/v1/users/abcd

{
  "href" : "http://localhost:8080/api/v1/users/smnaha";,
  "Users" : {
    "active" : true,
    "admin" : false,
    "groups" : [ ],
    "ldap_user" : false,
    "user_name" : "abcd",
    "user_type" : "LOCAL"
  },
  "privileges" : [ ],
  "widget_layouts" : [ ]
}

4. 3. curl -u admin:admin -H "X-Requested-By: ambari" -X GET 
http://localhost:8080/api/v1/users/ABCD

{
  "href" : "http://localhost:8080/api/v1/users/smnaha";,
  "Users" : {
    "active" : true,
    "admin" : false,
    "groups" : [ ],
    "ldap_user" : false,
    "user_name" : "abcd",
    "user_type" : "LOCAL"
  },
  "privileges" : [ ],
  "widget_layouts" : [ ]
}


Thanks,

Nahappan Somasundaram

Reply via email to