From dd2da52625e890e29a6fdbba43456dd8475d51ac Mon Sep 17 00:00:00 2001 From: nitromaster101 Date: Wed, 17 Jun 2009 19:02:50 +0000 Subject: reorganize package inorder to emphasize freebase-api as the main one git-svn-id: http://freebase-python.googlecode.com/svn/trunk@88 5914aa95-5b3a-0410-a3b5-7b719e7fe9b2 --- freebase-api/test/test_all.py | 190 ------------------------------------------ 1 file changed, 190 deletions(-) delete mode 100755 freebase-api/test/test_all.py (limited to 'freebase-api/test') diff --git a/freebase-api/test/test_all.py b/freebase-api/test/test_all.py deleted file mode 100755 index 1a9e124..0000000 --- a/freebase-api/test/test_all.py +++ /dev/null @@ -1,190 +0,0 @@ -#!/usr/bin/python -# ======================================================================== -# Copyright (c) 2007, Metaweb Technologies, Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY METAWEB TECHNOLOGIES ``AS IS'' AND ANY -# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL METAWEB TECHNOLOGIES BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# ======================================================================== - - -import unittest -import sys, logging -import freebase -import random - -from freebase.api import HTTPMetawebSession, MetawebError - - -USERNAME = 'username' -PASSWORD = 'password' -API_HOST = 'sandbox.freebase.com' -TEST_QUERY = {'id': 'null', 'name': 'Sting'} - -class TestFreebase(unittest.TestCase): - - def test_freebase_dot_login_logout(self): - freebase.login(username=USERNAME, password=PASSWORD) - self.assertNotEqual(freebase.user_info(), None) - self.assertEqual(freebase.loggedin(), True) - freebase.logout() - self.assertRaises(MetawebError, freebase.user_info) - self.assertEqual(freebase.loggedin(), False) - - def test_login_logout(self): - mss = HTTPMetawebSession(API_HOST, username=USERNAME, - password=PASSWORD) - mss.login() - - user_info = mss.user_info() - self.assertNotEqual(None, user_info) - self.assertEqual(user_info.code, "/api/status/ok") - self.assertEqual(mss.loggedin(), True) - - mss.logout() - self.assertRaises(MetawebError, mss.user_info) - self.assertEqual(mss.loggedin(), False) - - - def test_freebase_dot_read(self): - query = {'type':'/music/artist','guid':[{}],'name':'Sting', 'album':[{}]} - - result = freebase.mqlread(query) - - self.assertNotEqual(None, result) - self.assert_(result.has_key('guid')) - self.assert_(result.has_key('type')) - self.assert_(result.has_key('name')) - self.assert_(result.has_key('album')) - self.assertEqual(type([]), type(result['album'])) - self.assert_(len(result['album']) > 0) - self.assertEqual( 'Sting', result['name']) - self.assertEqual('#9202a8c04000641f8000000000092a01', result['guid'][0]['value']) - - def test_freebase_dot_write(self): - read_query = {'type':'/music/artist','name':'Yanni\'s Cousin Tom', 'id':{}} - - freebase.sandbox.login(username=USERNAME, password=PASSWORD) - result = freebase.sandbox.mqlread(read_query) - self.assertEqual(None, result) - - write_query = {'create':'unless_exists', 'type':'/music/artist','name':'Yanni'} - - write_result = freebase.sandbox.mqlwrite(write_query) - self.assertNotEqual(None, write_result) - self.assert_(write_result.has_key('create')) - self.assert_(write_result.has_key('type')) - self.assert_(write_result.has_key('name')) - self.assertEqual('existed', write_result['create']) - self.assertEqual('Yanni', write_result['name']) - self.assertEqual('/music/artist', write_result['type']) - - def test_read(self): - query = {'type':'/music/artist','guid':[{}],'name':'Sting', 'album':[{}]} - - mss = HTTPMetawebSession(API_HOST) - - result = mss.mqlread(query) - - self.assertNotEqual(None, result) - self.assert_(result.has_key('guid')) - self.assert_(result.has_key('type')) - self.assert_(result.has_key('name')) - self.assert_(result.has_key('album')) - self.assertEqual(type([]), type(result['album'])) - self.assert_(len(result['album']) > 0) - self.assertEqual( 'Sting', result['name']) - self.assertEqual('#9202a8c04000641f8000000000092a01', result['guid'][0]['value']) - - - def test_write(self): - read_query = {'type':'/music/artist','name':'Yanni\'s Cousin Tom', 'id':{}} - mss = HTTPMetawebSession(API_HOST, username=USERNAME, - password=PASSWORD) - result = mss.mqlread(read_query) - self.assertEqual(None, result) - - write_query = {'create':'unless_exists', 'type':'/music/artist','name':'Yanni'} - - mss.login() - write_result = mss.mqlwrite(write_query) - self.assertNotEqual(None, write_result) - self.assert_(write_result.has_key('create')) - self.assert_(write_result.has_key('type')) - self.assert_(write_result.has_key('name')) - self.assertEqual('existed', write_result['create']) - self.assertEqual('Yanni', write_result['name']) - self.assertEqual('/music/artist', write_result['type']) - - def test_trans_blurb(self): - kurt = "/en/kurt_vonnegut" - - blurb = freebase.blurb(kurt) - self.assert_(blurb.startswith("Kurt Vonnegut")) - self.assertNotEqual(len(blurb), 0) - - blurb14 = freebase.blurb(kurt, maxlength=14) - blurb57 = freebase.blurb(kurt, maxlength=57) - self.assertNotEqual(len(blurb14), len(blurb57)) - - blurbpar = freebase.blurb(kurt, break_paragraphs=True, maxlength=20000) - blurbnopar = freebase.blurb(kurt, break_paragraphs=False, maxlength=20000) - # self.assertNotEqual(blurbpar, blurbnopar) this doesn't work unless I get a good example - # of an article with paragraphs. - - def test_trans_raw(self): - kurt = "/en/kurt_vonnegut" - - self.assertRaises(MetawebError, lambda: freebase.raw(kurt)) - - r = freebase.mqlread({"id":kurt, "/common/topic/article":[{"id":None, "optional":True, "limit":1}]}) - raw = freebase.raw(r["/common/topic/article"][0].id) - self.assertNotEqual(len(raw), 0) - - def test_trans_image_thumb(self): - kurt = "/en/kurt_vonnegut" - - r = freebase.mqlread({"id":kurt, "/common/topic/image":[{"id":None, "optional":True, "limit":1}]}) - imageid = r["/common/topic/image"][0].id - rawimage = freebase.raw(imageid) - - thumbedimage = freebase.image_thumb(imageid, maxheight=99) - self.assertNotEqual(rawimage, thumbedimage) - - def test_upload(self): - my_text = "Kurt Vonnegut was an author! " + str(random.random()) - - freebase.sandbox.login(USERNAME, PASSWORD) - response = freebase.sandbox.upload(my_text, "text/plain") - - self.assertEqual(freebase.sandbox.raw(response.id), my_text) - # since it's text/plain, blurb should also be equal - self.assertEqual(freebase.sandbox.blurb(response.id), my_text) - - -if __name__ == '__main__': - if USERNAME == "username" and PASSWORD == "password": - print "In order to run the tests, we need to use a valid freebase username and password" - USERNAME = raw_input("Please enter your username: ") - PASSWORD = raw_input("Please enter your password (it'll appear in cleartext): ") - unittest.main() - -- cgit v1.3.1