Joe Ceresini 2fc3e50d3f README cleanup | 7 years ago | |
---|---|---|
bash | 7 years ago | |
python | 7 years ago | |
testfiles | 7 years ago | |
README.md | 7 years ago |
Some tests building a simple API that determines whether an input string contains every lower-case character in the latin alphabet
URL: '/contains_all_chars.sh'
Method: POST
Data params: Plain text
Details: Removes all non-interesting characters, sorts remaining characters, removes duplicates. Checks that the length of the result matches the length of the characters we wanted.
Example response:
{ "error": null, "result": True }
Example use:
# Sample string with all alphabet characters
[jceresini@slartibartfast ~]$ curl -X POST -d 'The quick brown fox jumps over the lazy dog' http://test.ceresini.com/contains_all_chars.sh
{"error": null, "result": true}
# Sample string that doesn't contain all alphabet characters
[jceresini@slartibartfast ~]$ curl -X POST -d 'This string does not contain many letters of the alphabet' http://test.ceresini.com/contains_all_chars.sh
{"error": null, "result": false}
# Hitting API endpoint with GET method
a[jceresini@slartibartfast ~]$ curl http://test.ceresini.com/contains_all_chars.sh
{"error": "Invalid http method", "result": null}
URL: '/contains_all_chars_a'
Method: POST
Data params: Plain text
Details: Uses python's built-in [set].issubset function to see if the set of lowercase latin alphabet characters is a subset of the posted data
Example response:
{ "error": null, "result": True }
Example use:
[jceresini@slartibartfast]$ curl -H "Content-type: text/plain" -d "@testfiles/doi.txt" http://test.ceresini.com:5000/contains_all_chars_a
{"result": true, "error": null}
[jceresini@slartibartfast]$ curl -H "Content-type: text/plain" -d "@testfiles/doi-no-z.txt" http://test.ceresini.com:5000/contains_all_chars_a
{"result": false, "error": null}
[jceresini@slartibartfast]$ curl -H "Content-type: text/plain" -d "@testfiles/doi-allcaps.txt" http://test.ceresini.com:5000/contains_all_chars_a
{"result": false, "error": null}
URL: '/contains_all_chars_a'
Method: POST
Data params: Plain text
Details: Interates over each character of the posted data to see if it contains each lowercase character in the latin alphabet. Returns as soon as it has seen each character once.
Example response:
{ "error": null, "result": True }
Example use:
[jceresini@slartibartfast]$ curl -H "Content-type: text/plain" -d "@testfiles/doi.txt" http://test.ceresini.com:5000/contains_all_chars_b
{"result": true, "error": null}
[jceresini@slartibartfast]$ curl -H "Content-type: text/plain" -d "@testfiles/doi-no-z.txt" http://test.ceresini.com:5000/contains_all_chars_b
{"result": false, "error": null}
[jceresini@slartibartfast]$ curl -H "Content-type: text/plain" -d "@testfiles/doi-allcaps.txt" http://test.ceresini.com:5000/contains_all_chars_b
{"result": false, "error": null}