webapp2 handlers and route utils for im_futuretask, for Google App Engine, Python standard environment
Project description
# im_futuretest_webapp2
These are the webapp2 utilities for the im_futuretest library. If your project uses webapp2, this is the package you want.
[![Build Status](https://travis-ci.org/emlynoregan/im_futuretest_webapp2.svg?branch=master)](https://travis-ci.org/emlynoregan/im_futuretest_webapp2)
## Install
Use the python package for this library. You can find the package online [here](https://pypi.org/project/im-futuretest-webapp2/).
Change to your Python App Engine project's root folder and do the following:
> pip install im_futuretest_webapp2 --target lib
Or add it to your requirements.txt. You'll also need to set up vendoring, see [app engine vendoring instructions here](https://cloud.google.com/appengine/docs/python/tools/using-libraries-python-27).
## Configuring im_futuretest_webapp2
This package provides functions that set up webapp2 routes for im_futuretest, both for its api and its ui.
To get your tests running properly, you should add these routes in your main app (wherever your main webapp2 app is constructed). Doing this
ensures that your tests have exactly the same code loaded as the code they're testing would have when being used normally, ie: no dependency hell.
### app.yaml
The futuretest handlers all have routes of the form:
/futuretest/XXX
(where XXX may include more levels of pathing)
Say you already have an app.yaml rule which pushes all routes to your main app, say main.py, as follows:
handlers:
- url: *
script: main.app
Then this will work for futuretest without any modification.
If things are a little messy, you can just add this somewhere early in app.yaml:
- url: /futuretest/*
script: main.app
login: admin
This will direct all futuretest routes to the "app" webapp2 application constructed in main.py. Obviously modify this as needed.
Also note the requirement for the user to be an admin of your project. Futuretest is designed to run potentially long running and expensive
tests; it's best not to open that up to all comers!
### main.py
Now traffic is going to the app constructed in main.py.
Next we need to add futuretest routes to app.
Do it like this:
import webapp2
... other imports ...
routes = [
...
]
...
addroutes_futuretest_webapp2(routes) # this is the important bit, adds required routes
...
app = webapp2.WSGIApplication(routes)
ie: just call addroutes_futuretest_webapp2(app) somewhere in main.py
### Accessing the UI
Go to the url
http(s)://<yourdomain>/futuretest/ui
and you'll see the UI:
![IM Future Test screenshot](http://i433.photobucket.com/albums/qq59/emlynoregan/im_futuretest.png "IM Future Test screenshot")
These are the webapp2 utilities for the im_futuretest library. If your project uses webapp2, this is the package you want.
[![Build Status](https://travis-ci.org/emlynoregan/im_futuretest_webapp2.svg?branch=master)](https://travis-ci.org/emlynoregan/im_futuretest_webapp2)
## Install
Use the python package for this library. You can find the package online [here](https://pypi.org/project/im-futuretest-webapp2/).
Change to your Python App Engine project's root folder and do the following:
> pip install im_futuretest_webapp2 --target lib
Or add it to your requirements.txt. You'll also need to set up vendoring, see [app engine vendoring instructions here](https://cloud.google.com/appengine/docs/python/tools/using-libraries-python-27).
## Configuring im_futuretest_webapp2
This package provides functions that set up webapp2 routes for im_futuretest, both for its api and its ui.
To get your tests running properly, you should add these routes in your main app (wherever your main webapp2 app is constructed). Doing this
ensures that your tests have exactly the same code loaded as the code they're testing would have when being used normally, ie: no dependency hell.
### app.yaml
The futuretest handlers all have routes of the form:
/futuretest/XXX
(where XXX may include more levels of pathing)
Say you already have an app.yaml rule which pushes all routes to your main app, say main.py, as follows:
handlers:
- url: *
script: main.app
Then this will work for futuretest without any modification.
If things are a little messy, you can just add this somewhere early in app.yaml:
- url: /futuretest/*
script: main.app
login: admin
This will direct all futuretest routes to the "app" webapp2 application constructed in main.py. Obviously modify this as needed.
Also note the requirement for the user to be an admin of your project. Futuretest is designed to run potentially long running and expensive
tests; it's best not to open that up to all comers!
### main.py
Now traffic is going to the app constructed in main.py.
Next we need to add futuretest routes to app.
Do it like this:
import webapp2
... other imports ...
routes = [
...
]
...
addroutes_futuretest_webapp2(routes) # this is the important bit, adds required routes
...
app = webapp2.WSGIApplication(routes)
ie: just call addroutes_futuretest_webapp2(app) somewhere in main.py
### Accessing the UI
Go to the url
http(s)://<yourdomain>/futuretest/ui
and you'll see the UI:
![IM Future Test screenshot](http://i433.photobucket.com/albums/qq59/emlynoregan/im_futuretest.png "IM Future Test screenshot")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file im_futuretest_webapp2-0.1.1.tar.gz
.
File metadata
- Download URL: im_futuretest_webapp2-0.1.1.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5504465a47582b3cb96948b57ae6aece9fa83fefae14487a49cdb0b5d9f9af54 |
|
MD5 | 0dc88c8e1c92324057a367284c0f8ef3 |
|
BLAKE2b-256 | 32d9ad3646c267797d8fba3b80d1cdcd8d33e721e4ba8f11625b8570de1b17b2 |
File details
Details for the file im_futuretest_webapp2-0.1.1-py2.py3-none-any.whl
.
File metadata
- Download URL: im_futuretest_webapp2-0.1.1-py2.py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7228fb92331cb151385b2453130bbc3adfd4717de882f51f8405c0c6349f7e2b |
|
MD5 | 27c81d91fdb63c6d41fa009e49d873d0 |
|
BLAKE2b-256 | f06eb17d4253fe5cd28e142cc130b561e1a23ecbf462b5ca90d635e55839b19c |