1
0
mirror of https://github.com/peeringdb/peeringdb.git synced 2024-05-11 05:55:09 +00:00
Files
peeringdb-peeringdb/docs/development.md
Matt Griswold 5147028bee clean up / format / poetry (#1000)
* stub in poetry for pipenv

* re-add tester image

* add pre-commit / formatting

* fix ghactions

* revert test data whitespace, exclude tests/data

* revert ws

* decruft, rm tox/pipenv

* install dev packages for base image

* add lgtm config to force to py3
2021-07-10 10:12:35 -05:00

1.5 KiB

PeeringDB Server Development

Models

Note: to add fk's to base models, you must add in both peeringdb.models. and in django_peeringdb.models concrete class

models.py

  • make model
  • add ref_tag_

serializers.py

  • add serializer

peeringdb/rest.py

  • make ViewSet
  • register

Modules

RDAP

  • Add output to parsing test
curl -L https://rdap.db.ripe.net/autnum/$ASN > tests/data/rdap/autnum/$ASN.input

or

scripts/rdap_getasn.sh
scripts/rdap_getent.sh
  • Pretty print RDAP data
munge json:https://rdap.arin.net/registry/autnum/2914 yaml:

Whois Server

  • To locally test whois, setup /etc/xinetd.d/pdb-whois with similar:
service whois
{
        disable         = no
        socket_type     = stream
        wait            = no
        user            = $USER

        passenv =

        server          = /home/$USER/srv/dev.peeringdb.com/peeringdb/in.whoisd
        log_on_failure  = HOST
}

  • Deploy and test against local
facs peeringdb dev --src-dir=. ; whois -h 127.0.0.1 as63311
pytest -v -rxs --cov-report term-missing --cov=peeringdb_server/ --capture=sys tests/

Dependencies

All dependencies are now handled by poetry.

To update them, do poetry lock and test.

Troubleshooting

404 on static files with runserver:

Make sure it's in debug mode

api tests fail

You need to specify the test directory:

pytest tests/

Can't see error because of warnings

Run pytest with -p no:warnings

Run one specific test

Run pytest with -k $test_name