ohsu-comp-bio / euler

Authentication (authN) and high-level Authorization (authZ) for BMEG, Dirac and Search. Includes Swift object store.
MIT License
0 stars 0 forks source link

tests on newly merged master branch #12

Open bwalsh opened 7 years ago

bwalsh commented 7 years ago

standard test setup

export EVE_SETTINGS=$(pwd)/settings.py
export TEST_OS_PASSWORD=....
export TEST_OS_USERNAME="test_user"
export TEST_OS_USER_DOMAIN_NAME="testing"

temporarily: explicitly set proxy to OICR (since test_user has one project BRCA-UK, not yet in ohsu)

export PROXY_TARGET=https://dcc.icgc.org 

standard test execution

py.test --flake8 --cov=. --cov-report term-missing

---------- coverage: platform linux2, python 2.7.11-final-0 ----------
Name                                                Stmts   Miss  Cover   Missing
---------------------------------------------------------------------------------
conftest.py                                            22      0   100%
dcc_proxy.py                                          167      5    97%   122-131
eve_util.py                                             4      0   100%
keystone_authenticator.py                              71      0   100%
keystone_connector.py                                  35      0   100%
publisher.py                                            3      0   100%
run.py                                                 71      1    99%   125
settings.py                                            23      0   100%
tests/integration/api_tests.py                         25      0   100%
tests/integration/keystone_authenticator_tests.py      88      0   100%
tests/integration/keystone_connector_tests.py          25      0   100%
tests/integration/proxy_tests.py                      125      0   100%
tests/integration/schema_tests.py                       1      0   100%
tests/integration/static_tests.py                      20      0   100%
---------------------------------------------------------------------------------
TOTAL                                                 680      6    99%

@mayfielg - note coverage results. can you confirm we didn't miss merging your test into master?

grmayfie commented 7 years ago

I didn't notice any issues with not exportng PROXY_TARGET. Can you describe what this is resolving a bit more?

Yes, the most recent merge did miss my tests. See here. Can we merge that in real quick?

@bwalsh

bwalsh commented 7 years ago

thanks. on dms-dev, I typically have PROXY_TARGET="http://10.96.11.96:8000" pointing to our dcc-portal-server. Right now the proxy tests, assume that the test user has access to the BRCA-UK project. That project doesn't exist yet in our server data

bwalsh commented 7 years ago

I did the merge. The coverage improved, we are very close.

---------- coverage: platform linux2, python 2.7.11-final-0 ----------
Name                                                Stmts   Miss  Cover   Missing
---------------------------------------------------------------------------------
conftest.py                                            22      0   100%
dcc_proxy.py                                          199      0   100%
eve_util.py                                             4      0   100%
keystone_authenticator.py                              71      0   100%
keystone_connector.py                                  35      0   100%
publisher.py                                            3      0   100%
run.py                                                 79      0   100%
settings.py                                            23      0   100%
tests/integration/api_tests.py                         25      0   100%
tests/integration/keystone_authenticator_tests.py      88      0   100%
tests/integration/keystone_connector_tests.py          25      0   100%
tests/integration/proxy_tests.py                      197      4    98%   102-103, 161-162
tests/integration/schema_tests.py                       1      0   100%
tests/integration/static_tests.py                      20      0   100%
---------------------------------------------------------------------------------
TOTAL                                                 792      4    99%

note, with proxy set to PROXY_TARGET="http://10.96.11.96:8000"

FAIL tests/integration/proxy_tests.py::test_redact_download_info
FAIL tests/integration/proxy_tests.py::test_genesets_genes_counts

with proxy set to PROXY_TARGET=https://dcc.icgc.org 49 passed in 18.88 seconds

could you also look at flake8?

py.test --flake8

style_guide.py             156 DEBUG    Deciding if "W293" should be reported
style_guide.py             160 DEBUG    The user configured "W293" to be "Selected.Explicitly", "Selected.Implicitly"
style_guide.py             176 DEBUG    "W293" will be "Decision.Selected"
style_guide.py             192 DEBUG    Error(code='W293', filename='/service/run.py', line_number=188, column_number=1, text='blank line contains whitespace', physical_line=' \n') is not inline ignored
style_guide.py             156 DEBUG    Deciding if "W291" should be reported
style_guide.py             160 DEBUG    The user configured "W291" to be "Selected.Explicitly", "Selected.Implicitly"
style_guide.py             176 DEBUG    "W291" will be "Decision.Selected"
style_guide.py             192 DEBUG    Error(code='W291', filename='/service/run.py', line_number=208, column_number=32, text='trailing whitespace', physical_line="@app.route('/api/v1/mutations', \n") is not inline ignored
style_guide.py             156 DEBUG    Deciding if "E302" should be reported
style_guide.py             160 DEBUG    The user configured "E302" to be "Selected.Explicitly", "Selected.Implicitly"
style_guide.py             176 DEBUG    "E302" will be "Decision.Selected"
style_guide.py             192 DEBUG    Error(code='E302', filename='/service/run.py', line_number=216, column_number=1, text='expected 2 blank lines, found 1', physical_line="@app.route('/api/v1/download/info/<path:release>/Projects',\n") is not inline ignored
application.py             277 INFO     Found a total of 3 violations and reported 3
grmayfie commented 7 years ago

Missing lines 102-103, 161-162 is expected. It has to do with the tests are written for facets Only api calls, but the filtering isn't actually written that way yet.

I will look into the flake8 concerns.

grmayfie commented 7 years ago

Flake8 have been addressed in my most open pull request.