Some tests building a simple API that determines whether an input string contains every lower-case character in the latin alphabet

# Bash (CGI) version

-----

### Check if POST'd string contains all lowercase letters of 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}
```

-----
-----

# Python version using Flask

-----

### Check if POST'd string contains all lowercase letters of the latin alphabet: Method A
**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}
```

-----

### Check if POST'd string contains all lowercase letters of the latin alphabet: Method B
**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}
```
