Sebastian
Sebastian

Reputation: 496

How can I configure a test environment with Falcon

I started to write a small REST API using Python with Falcon and Gunicorn. I would like to write some integration tests and I am not sure how to set up a proper test environment (for example to switch to another database). Do you have some good advice or tutorials?

My current idea is to maybe introduce some middleware and to provide a header. If the header is set, I could switch to my test configuration.

Upvotes: 3

Views: 1788

Answers (2)

joarleymoraes
joarleymoraes

Reputation: 1949

You might want try using the virtual testing environment and testing helpers provided by falcon core:

http://falcon.readthedocs.io/en/stable/api/testing.html

Upvotes: 1

Max Paymar
Max Paymar

Reputation: 708

Definitely don't add middleware for the sole purpose of integration testing. What you should do is set up some configuration files for your server to use. Dev, Test, and Prod is a decent setup. Each file can point to a different database and have different ports for your server. I'm sure you will even be able to have Dev and Test servers up and running at the same time on your personal computer without any issues. Python has a build in config module that you can use. You can set environment variables in your shell so your server knows which configuration file to use. E.G. in bash FALCON_ENV='DEV' Then in python you can use the os module to get the environment variable - os.environ['FALCON_ENV']. Hope that helps, feel free to ask any more questions.

Upvotes: 3

Related Questions