@@ -32,3 +32,31 @@ def test_existant_query(self):
3232 ShortLink .objects .decode (encoded ),
3333 ShortLink .objects .decode (encoded2 ),
3434 )
35+
36+ def test_url (self ):
37+ encoded = ShortLink .objects .encoded_id_from_query ("abc def\n ghi" )
38+ res = self .client .get (f"/s/{ encoded } /" )
39+ self .assertEqual (res .status_code , 302 )
40+ self .assertEqual (
41+ res .headers ["Location" ],
42+ "/web/infographics/?query=abc%20def%0Aghi" ,
43+ )
44+ res = self .client .get ("/s/abc/" )
45+ self .assertEqual (res .status_code , 404 )
46+ ShortLink .objects .all ().delete ()
47+ res = self .client .get (f"/s/{ encoded } /" )
48+ self .assertEqual (res .status_code , 404 )
49+
50+ def test_generate (self ):
51+ query = "SELECT\n ?abc"
52+ res = self .client .post ("/s/generate/" , {"query" : query })
53+ self .assertEqual (res .status_code , 201 )
54+ encoded = ShortLink .objects .encoded_id_from_query (query )
55+ url = f"/s/{ encoded } /"
56+ self .assertEqual (res .json (), {"url" : url })
57+ res = self .client .get (url )
58+ self .assertEqual (res .status_code , 302 )
59+ self .assertEqual (
60+ res .headers ["Location" ],
61+ "/web/infographics/?query=SELECT%0A?abc" ,
62+ )
0 commit comments