singingwolfboy / flask-dance

Doing the OAuth dance with style using Flask, requests, and oauthlib.
https://pypi.python.org/pypi/Flask-Dance/
MIT License
1.01k stars 158 forks source link

added dexcom to contrib #410

Closed lila closed 1 year ago

lila commented 1 year ago

added dexcom oauth2 in contrib section.

Dexcom offers developer apis for access to continuous blood glucose measurements from dexcom G6 and G7 devices. Access requires user authentication using OAuth2.0.

The contrib module supports dexcom as a flask-dance blueprint.

links: https://developer.dexcom.com/home , https://developer.dexcom.com/docs/dexcom/authentication/

Note: i don't work for dexcom

codecov[bot] commented 1 year ago

Codecov Report

Merging #410 (f35cf8b) into main (847d81a) will increase coverage by 0.09%. The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #410      +/-   ##
==========================================
+ Coverage   93.53%   93.62%   +0.09%     
==========================================
  Files          36       38       +2     
  Lines        1067     1083      +16     
==========================================
+ Hits          998     1014      +16     
  Misses         69       69              
Impacted Files Coverage Δ
flask_dance/contrib/dexcom.py 100.00% <100.00%> (ø)
flask_dance/__init__.py 100.00% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

lila commented 1 year ago

also, the repo that tests this is: https://github.com/lila/flask-dance-dexcom (now public)...

daenney commented 1 year ago

Hi there and thanks for the contribution! We'll be happy to accept it but currently the tests don't pass. A number of assertions in test_dexcom.py aren't holding up. Please take a look at the logs https://github.com/singingwolfboy/flask-dance/actions/runs/3950366983/jobs/6762801102 because we can't merge this with failing tests.

daenney commented 1 year ago

Thanks for updating the tests. The remaining failures don't look like they've got anything to do with your change.

FAILED tests/consumer/test_oauth2.py::test_authorized_url - KeyError: 'test-service_oauth_token'
FAILED tests/consumer/test_oauth2.py::test_authorized_url_token_lifetime - KeyError: 'test-service_oauth_token'
FAILED tests/consumer/test_oauth2.py::test_authorized_url_with_pkce - KeyError: 'test-service_oauth_token'

@singingwolfboy Any idea what that might be about? It seems we're hitting an SQLAlchemy change at least.

lila commented 1 year ago

hi @daenney , yes, i see that "some checks were not successful"...

this is accurate. python-requests.org does not exist... but i didn't make any edits there...

To prevent incompatible upgrades prior to updating applications, ensure requirements files are pinned to "sqlalchemy<2.0". Set environment variable SQLALCHEMY_WARN_20=1 to show all deprecation warnings. Set environment variable SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this message. (Background on SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9) return User.query.get(userid)

this is a warning.

Use the a full path to backend classes directly. category=DeprecationWarning,

What do you suggest?

singingwolfboy commented 1 year ago

Thanks for identifying those problems, @lila! I'll take a look at them tomorrow, and get the tests passing again. This is the problem with software development -- the environment keeps changing, so the code requires constant maintenance just to prevent it from breaking! The last commit to the main branch was a few months ago, and although the tests passed at that point in time, seems like the environment has changed enough that that's no longer the case.

singingwolfboy commented 1 year ago

I resolved the test failures in #411. @lila, could you rebase your pull request onto the latest version of main to pick up those changes?

lila commented 1 year ago

rebased my fork and it looks like it is passing all tests now. note that i did not squash the commits.

Thanks for maintaining this, this project is being used by https://github.com/googlecloudplatform/deviceconnect and hope to expand with dexcom devices as well.

if you are ever in new york, let me know ... i would love to buy you all drinks...

k

singingwolfboy commented 1 year ago

@lila I accidentally removed the commits from this pull request while trying to undo your merge and turn it into a rebase instead. I used your commits to make #412, made a few changes, and merged it. I'll cut a new release some time in the next few days.

lila commented 1 year ago

thank you @singingwolfboy and apologies... i did the rebase and that worked fine, but should have done a force push, instead it did a merge. sorry about that :-( ...and thanks again!