Running local tests
assignment 8
I cloned requests git, build a docker and run the tests, follwing this link:
git clone git@github.com:psf/requests.git
docker run -it --rm --workdir /opt -v$(pwd):/opt python:3.11 bash
pip install -r requirements-dev.txt
pip install tox
make test
this is the print:
tox -p
py38-use_chardet_on_py3: SKIP ⚠ in 0.3 seconds
py37-default: SKIP ⚠ in 0.33 seconds
py38-default: SKIP ⚠ in 0.36 seconds
py310-use_chardet_on_py3: SKIP ⚠ in 0.37 seconds
py37-use_chardet_on_py3: SKIP ⚠ in 0.39 seconds
py310-default: SKIP ⚠ in 0.38 seconds
⠴ [4/10] py39-default | py39-use_chardet_on_py3 | py311-default | py311-use_chardet_on_py3
⠧ [4/10] py39-default | py39-use_chardet_on_py3 | py311-default | py311-use_chardet_on_py3
py39-default: OK ✔ in 1 minute 32.45 seconds
py39-use_chardet_on_py3: OK ✔ in 1 minute 32.68 seconds
py311-default: OK ✔ in 1 minute 32.79 seconds
  py37-default: SKIP (0.32 seconds)
  py37-use_chardet_on_py3: SKIP (0.39 seconds)
  py38-default: SKIP (0.36 seconds)
  py38-use_chardet_on_py3: SKIP (0.30 seconds)
  py39-default: OK (92.44=setup[19.63]+cmd[72.81] seconds)
  py39-use_chardet_on_py3: OK (92.68=setup[19.59]+cmd[73.09] seconds)
  py310-default: SKIP (0.35 seconds)
  py310-use_chardet_on_py3: SKIP (0.36 seconds)
  py311-default: OK (92.79=setup[19.96]+cmd[72.83] seconds)
  py311-use_chardet_on_py3: OK (92.90=setup[20.11]+cmd[72.79] seconds)
  congratulations :) (92.99 seconds)
next:
pip install pytest-random-order pytest-coverage
pytest -svv --random-order --cov-config .coveragerc --cov=requests --cov-report html --cov-report term --cov-branch
This is the result:
---------- coverage: platform linux, python 3.11.2-final-0 -----------
Name Stmts Miss Branch BrPart Cover
requests/init.py             68     68     10      0     0%
requests/version.py          10     10      0      0     0%
requests/_internal_utils.py      21     11      2      0    52%
requests/adapters.py            216     62     78      8    76%
requests/api.py                  19     12      2      0    43%
requests/auth.py                173     53     60     15    70%
requests/certs.py                 4      4      2      0     0%
requests/compat.py               30     30      2      0     0%
requests/cookies.py             239    116    104      9    52%
requests/exceptions.py           37     29      2      0    26%
requests/help.py                 62     20     18      5    59%
requests/hooks.py                14      3     10      0    88%
requests/models.py              456    121    212     18    76%
requests/packages.py             17     17     10      0     0%
requests/sessions.py            268     61    100      4    82%
requests/status_codes.py         14     14     10      0     0%
requests/structures.py           39     18      8      0    62%
requests/utils.py 485 158 224 12 71%
TOTAL                          2172    807    854     71    66%
Coverage HTML written to dir htmlcov
class notes:
My last change in author name will not be shown in pydigger, because it takes the data from pypi and not from github.
Webhooks:
whenever there is a change, github sends a json file with an update. updates the website with new slides with every push.
You can add a url via settings. 
This can be set that only if github actions works, the slides are updated. 
stash
What if I have some local changes but I need to pull the last version? start from the beginning? I can save my changes with stash, pull the repo and than pop the stashed data. how?
git stash  # saves local changes on the side.
git pull
git stash pop  #takes the last change and adds or number. if there is no conflict, it will be deleted.
git stash list
git stash show (0/1) #shows the last
patch is the same as diff
git stash drop 0 # will through away 0
docker
docker image: playground
How to build a docker image and publish it in dockerhub?
docker login
docker build -t szabgab/playground:latest #build an image from a docker file
docker push #push to dockerhub
This will first search locally for an image, or will pull from dockerhub if doesn't exist:
docker run -it -rm ...szabgab/playground:latest # pulls from dockerhub
run python tests localy
Gabor cloned python requests.
jinja - a good example for a good repo (same as flask)
Gabor has a dev.to on this with a docker image run command.
via .github/actions you can understand how to run the test.
runs a make.
goto makfile.
make test #- dosent work
make
pytest test #-random_order #will run in a random order.
```
    
Top comments (1)
That's nice, but maybe you could do it with some other project, besides
requests, describe how it is done there.