arnaucode cc61bfbc02 | 6 years ago | |
---|---|---|
.gitignore | 6 years ago | |
LICENSE | 6 years ago | |
README.md | 6 years ago | |
exampleTest.py | 6 years ago | |
provoj-example.gif | 6 years ago | |
provoj.py | 6 years ago |
Simple library to check the endpoints of an RESTful API.
Import the provoj library, and the requests library
import provoj
import requests
Define a new test
test = provoj.NewTest("Testing some websites")
Check if two variables are equal
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
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
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
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
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
r = requests.get("https://api.github.com/users/arnaucode/repos")
test.status("get api.github.com/users/arnaucode/repos", r)# test.status(check description, request_response)
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: