|
|
# provoj
Simple library to test the endpoints of an RESTful API.
Check values, integrated with requests python library.
For python version>3
## Installation
Requires to have installed 'requests' library.
Install provoj by: ``` pip install provoj ```
### Usage
Import the provoj library, and the requests library ```python import provoj import requests ```
Define a new test ```python test = provoj.NewTest("Testing some websites") ```
Check if two variables are equal ```python a = "hello" b = "world" test.equal("comparing a and b", a, b)# test.equal(check description, variable1, variable2) ```
Check if two variables are not equal ```python a = "hello" b = "world" test.notequal("comparing a and b", a, b)# test.notequal(check description, variable1, variable2) ```
Check if first variable is bigger than the second ```python a = 2 b = 3 test.bigger("comparing a and b", a, b)# test.bigger(check description, variable1, variable2) ```
Check if first variable is smaller than the second ```python a = 2 b = 3 test.smaller("comparing a and b", a, b)# test.smaller(check description, variable1, variable2) ```
Check if the length of a variable ```python animals = ["cat", "dog", "racoon"] test.length("checking the length of the array animals", animals, 3)# test.length(check description, variable1, length) ```
Check for request status ```python r = requests.get("https://api.github.com/users/arnaucode/repos") test.rStatus("get api.github.com/users/arnaucode/repos", r)# test.rStatus(check description, request_response) ```
### Full example
```python import provoj import requests
test1 = provoj.NewTest("testing some function")
a = "hello" b = "world" c = "hello" test1.equal("comparing a and b", a, b) test1.notequal("comparing a and b", a, b) test1.equal("comparing a and c", a, c)
x = 2 y = 3 test1.bigger("comparing x and y", x, y) test1.smaller("comparing x and y", x, y)
test1.length("checking length", a, 2) test1.length("checking length", a, 5)
animals = ["cat", "dog", "racoon"] test1.length("checking the length of the array animals", animals, 3)
test1.printScores()
t2 = provoj.NewTest("Testing some websites")
r = requests.get("https://www.github.com") t2.rStatus("get github", r)
r = requests.get("https://arnaucode.com") t2.rStatus("get arnaucode.com", r)
r = requests.get("https://arnaucode.com/fake") t2.rStatus("get arnaucode.com/fake_path", r)
r = requests.get("https://arnaucode.com/blog") t2.rStatus("get arnaucode.com/blog", r)
t2.printScores()
tGithub = provoj.NewTest("Github API tests")
r = requests.get("https://api.github.com") tGithub.rStatus("get api.github", r) r = requests.get("https://api.github.com/users/arnaucode") tGithub.rStatus("get https://api.github.com/users/arnaucode", r) jsonResp = r.json() tGithub.equal("checking quantity of followers", jsonResp["followers"], 100) tGithub.equal("checking quantity of public_repos", jsonResp["public_repos"], 77)
r = requests.get("https://api.github.com/users/arnaucode/repos") tGithub.rStatus("get https://api.github.com/users/arnaucode/repos", r) jsonResp = r.json() tGithub.length("checking length of repos", jsonResp, 30) tGithub.equal("checking first repo", jsonResp[0]["name"], "argos") tGithub.equal("checking second repo", jsonResp[1]["name"], "coffeeminer") tGithub.equal("checking third repo", jsonResp[2]["name"], "bc")
tGithub.printScores() ```
Output example:
![provoj](https://raw.githubusercontent.com/arnaucode/provoj/master/provoj-example.gif "provoj")
|