40 lines
1.5 KiB
Python
40 lines
1.5 KiB
Python
from unittest import TestCase
|
|
|
|
from yql.utils import get_http_method
|
|
|
|
|
|
class UtilitiesTest(TestCase):
|
|
def test_finds_get_method_for_select_query(self):
|
|
self.assertEqual(get_http_method("SELECT foo"), "GET")
|
|
|
|
def test_finds_get_method_for_select_query_with_leading_space(self):
|
|
self.assertEqual(get_http_method(" SELECT foo"), "GET")
|
|
|
|
def test_finds_get_method_for_lowercase_select_query(self):
|
|
self.assertEqual(get_http_method("select foo"), "GET")
|
|
|
|
def test_finds_post_method_for_insert_query(self):
|
|
self.assertEqual(get_http_method("INSERT into"), "POST")
|
|
|
|
def test_finds_post_method_for_multiline_insert_query(self):
|
|
query = """
|
|
INSERT INTO yql.queries.query (name, query)
|
|
VALUES ("weather", "SELECT * FROM weather.forecast
|
|
WHERE location=90210")
|
|
"""
|
|
self.assertEqual(get_http_method(query), "POST")
|
|
|
|
def test_finds_put_method_for_update_query(self):
|
|
self.assertEqual(get_http_method("update foo"), "PUT")
|
|
|
|
def test_finds_post_method_for_delete_query(self):
|
|
self.assertEqual(get_http_method("DELETE from"), "POST")
|
|
|
|
def test_finds_post_method_for_lowercase_delete_query(self):
|
|
self.assertEqual(get_http_method("delete from"), "POST")
|
|
|
|
def test_finds_get_method_for_show_query(self):
|
|
self.assertEqual(get_http_method("SHOW tables"), "GET")
|
|
|
|
def test_finds_get_method_for_describe_query(self):
|
|
self.assertEqual(get_http_method("DESC tablename"), "GET")
|