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



Abhishek - thank you for adding tests to cover Ranger REST APIs. Please review 
following suggestions:

1. I suggest updating docker setup in dev-support/ranger-docker to make it 
easier to run the tests, probably in a new container named like ranger-tests. 
This can be integrated in CI to automatically run tests after a build.
2. Adding/reviewing test payload in embedded json is cumbersome, given all 
quotes need to be escaped. Instead, consider having the payload in separate 
json files, replace the embedded json text with file names and update the test 
driver to read test payload from the given file.
3. Having test results in a file could be helpful in troubleshooting failures.
4. Have you considered using Ranger Python APIs 
(https://pypi.org/project/apache-ranger/) to call REST APIs, instead of raw 
requests package? This will help validate the Python APIs as well.
5. I ran the tests per instructions in README-API_TESTS.txt, it looks like all 
tests failed!
```
============================= test session starts ==============================
platform darwin -- Python 3.9.6, pytest-8.3.2, pluggy-1.5.0
rootdir: 
/Users/mneethiraj/Apache/git/ranger/security-admin/src/test/python_tests
collected 244 items

test_runner.py F......F..FFFFFFFF.FFFFFF....FFFFFFFFFFF..FFFFF.FFFFFFFFF [ 23%]
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF......F..FFFFFFFF.FFFFFF.F [ 52%]
..FFFFFFFFFFF..FFFFF.FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 82%]
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF                              [100%]
```

```
utils.py:313: AssertionError
----------------------------- Captured stdout call -----------------------------
The request data is :- None
The request url is :- 
http://localhost:6080/service/public/v2/api/zones/name/lvyygmb
The response is :- <Response [401]>
The resp content is :- b'{"statusCode":401,"msgDesc":"Authentication Failed"}'
```

I confirmed that username and password in data/ranger_admin_details.json are 
correct:

```
{
  "base_url": "http://localhost:6080";,
  "admin_user": "admin",
  "key_admin_user": "keyadmin",
  "admin_user_password": "rangerR0cks!"
}
```

- Madhan Neethiraj


On Dec. 21, 2023, 5:09 a.m., Abhishek Patil wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/74800/
> -----------------------------------------------------------
> 
> (Updated Dec. 21, 2023, 5:09 a.m.)
> 
> 
> Review request for ranger, Abhay Kulkarni, Madhan Neethiraj, Mehul Parikh, 
> Pradeep Agrawal, Ramesh Mani, Sailaja Polavarapu, and Velmurugan Periasamy.
> 
> 
> Bugs: RANGER-4620
>     https://issues.apache.org/jira/browse/RANGER-4620
> 
> 
> Repository: ranger
> 
> 
> Description
> -------
> 
> Add python based API tests for all the Public V2 REST APIs listed in 
> https://ranger.apache.org/apidocs/index.html.
> 
> The tests are cover almost all the Public V2 APIs available in Apache Ranger.
> 
> The tests are categorised into 5 sections :-
> 1. Tests for ROLE_SYS_ADMIN user
> 2. Tests for ROLE_ADMIN_AUDITOR user
> 3. Tests for ROLE_USER user
> 4. Tests for ROLE_KEY_ADMIN user
> 5. Negative test scenarios (for e.g fetch the entities using invalid id, make 
> an update request with invalid data etc)
> 
> The only input required to run these tests are Ranger Admin Base URL.
> There is a common test runner to run these tests, and the test suite is 
> specified in the form of a JSON file.
> The test runner reads the JSON file, creates the required data in the data 
> setup phase,
> and runs the tests.
> The same test runner can be used to run / automate tests for all the other 
> API sections like Asset REST, XUser REST, Plugin REST APIs etc.
> 
> Details on how new test suites can be specified / new tests can be added to 
> the existing test suite are specified in the README file.
> 
> 
> Diffs
> -----
> 
>   README-API_TESTS.txt PRE-CREATION 
>   security-admin/src/test/python_tests/data/public_v2_rest_apis.json 
> PRE-CREATION 
>   security-admin/src/test/python_tests/data/ranger_admin_details.json 
> PRE-CREATION 
>   security-admin/src/test/python_tests/test_runner.py PRE-CREATION 
>   security-admin/src/test/python_tests/utils.py PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/74800/diff/1/
> 
> 
> Testing
> -------
> 
> Executed the tests against the latest release of Apache Ranger and ensured 
> that all the tests are passing.
> 
> 
> Thanks,
> 
> Abhishek Patil
> 
>

Reply via email to