Newer
Older
"""
Check setup page at /generate URL.
MemeGenerator
Ruizhe Deng rxd@umich.edu
"""
import re
import bs4
def test_generate_empty(client):
url = '/generate?top=&url=https%3A%2F%2Flive.staticflickr.com%2F3606%2F3369014165_7441c25d45_q.jpg&bot='
response = client.get(url)
soup = bs4.BeautifulSoup(response.data, "html.parser")
assert response.status_code == 200
src = [x.get("src") for x in soup.find_all('img')]
# check if there is only one image link
assert len(src) == 1
# check if that link to the image is correct
first_part = src[0].split('?')[0]
first_part_reg = 'https:\/\/api\.memegen\.link\/images\/custom\/[a-zA-Z0-9_]*\/[a-zA-Z0-9_]*\.png'
assert re.match(first_part_reg, first_part) is not None
def test_generate_one_empty(client):
bot_url = '/generate?top=&url=https%3A%2F%2Flive.staticflickr.com%2F3606%2F3369014165_7441c25d45_q.jpg&bot=bot'
top_url = '/generate?top=top&url=https%3A%2F%2Flive.staticflickr.com%2F3606%2F3369014165_7441c25d45_q.jpg&bot='
# bot first
response = client.get(bot_url)
soup = bs4.BeautifulSoup(response.data, "html.parser")
assert response.status_code == 200
# check for link correctness
src = [x.get("src") for x in soup.find_all('img')]
first_part = src[0].split('?')[0]
first_part_reg = 'https:\/\/api\.memegen\.link\/images\/custom\/[a-zA-Z0-9_]*\/[a-zA-Z0-9_]*\.png'
assert re.match(first_part_reg, first_part) is not None
# top check
response = client.get(top_url)
soup = bs4.BeautifulSoup(response.data, "html.parser")
assert response.status_code == 200
# check for link correctness
src = [x.get("src") for x in soup.find_all('img')]
first_part = src[0].split('?')[0]
first_part_reg = 'https:\/\/api\.memegen\.link\/images\/custom\/[a-zA-Z0-9_]*\/[a-zA-Z0-9_]*\.png'
assert re.match(first_part_reg, first_part) is not None
def check_generate_full(client):
url = '/generate?top=a&url=https%3A%2F%2Flive.staticflickr.com%2F3606%2F3369014165_7441c25d45_q.jpg&bot=c'
response = client.get(url)
soup = bs4.BeautifulSoup(response.data, "html.parser")
assert response.status_code == 200
# check for link correctness
src = [x.get("src") for x in soup.find_all('img')]
first_part = src[0].split('?')[0]
first_part_reg = 'https:\/\/api\.memegen\.link\/images\/custom\/[a-zA-Z0-9_]*\/[a-zA-Z0-9_]*\.png'
assert re.match(first_part_reg, first_part) is not None