Skip to content

Commit

Permalink
little test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
RaNaN committed Dec 10, 2011
1 parent 68248f8 commit c484268
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 9 deletions.
16 changes: 10 additions & 6 deletions module/common/APIExerciser.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def startApiExerciser(core, n):
class APIExerciser(Thread):


def __init__(self, core, thrift=False):
def __init__(self, core, thrift=False, user=None, pw=None):
global idPool

Thread.__init__(self)
Expand All @@ -46,18 +46,19 @@ def __init__(self, core, thrift=False):
self.time = time()

if thrift:
self.api = ThriftClient()
self.api.login("user", "pw")
self.api = ThriftClient(user=user, password=pw)
else:
self.api = core.api


self.id = idPool

self.core.log.info("API Excerciser started %d" % self.id)
if core:
self.core.log.info("API Excerciser started %d" % self.id)

idPool += 1

self.start()
#self.start()

def run(self):
out = open("error.log", "ab")
Expand Down Expand Up @@ -150,4 +151,7 @@ def getPackageData(self):
self.api.getPackageData(choice(info).pid)

def getAccounts(self):
self.api.getAccounts(False)
self.api.getAccounts(False)

def getCaptchaTask(self):
self.api.getCaptchaTask(False)
2 changes: 1 addition & 1 deletion module/database/FileDatabase.py
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ def deletePackage(self, id):

packs = self.packageCache.values()
for pack in packs:
if pack.queue != queue and p.order < oldorder:
if pack.queue == p.queue and p.order < oldorder:
pack.order -= 1
pack.notifyChange()

Expand Down
9 changes: 7 additions & 2 deletions pavement.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,19 @@
version="0.4.9",
description='Fast, lightweight and full featured download manager.',
long_description=open(PROJECT_DIR / "README").read(),
keywords='',
keywords = ('pyload', 'download-manager', 'one-click-hoster', 'download'),
url="http://pyload.org",
download_url='http://pyload.org/download',
license='GPL v3',
author="pyLoad Team",
author_email="[email protected]",
platforms = ('Any',),
#package_dir={'pyload': 'src'},
packages=['pyload'],
#package_data=find_package_data(),
#data_files=[],
include_package_data=True,
exclude_package_data={'pyload': ['docs*', 'scripts*']}, #exluced from build but not from sdist
exclude_package_data={'pyload': ['docs*', 'scripts*', 'tests*']}, #exluced from build but not from sdist
# 'bottle >= 0.10.0' not in list, because its small and contain little modifications
install_requires=['thrift >= 0.8.0', 'jinja2', 'pycurl', 'Beaker', 'BeautifulSoup>=3.2, <3.3'] + extradeps,
extras_require={
Expand Down Expand Up @@ -231,6 +232,10 @@ def generate_locale():
print "Locale generated"


@task
def tests():
call(["nosetests2"])

@task
def virtualenv(options):
"""Setup virtual environment"""
Expand Down
20 changes: 20 additions & 0 deletions tests/test_api.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-

from module.common import APIExerciser
from nose.tools import nottest


class TestApi:

def __init__(self):
self.api = APIExerciser.APIExerciser(None, True, "TestUser", "pwhere")

def test_login(self):
assert self.api.api.login("crapp", "wrong pw") is False

#takes really long, only test when needed
@nottest
def test_random(self):

for i in range(0, 100):
self.api.testAPI()
48 changes: 48 additions & 0 deletions tests/test_json.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# -*- coding: utf-8 -*-

from urllib import urlencode
from urllib2 import urlopen, HTTPError
from json import loads

from logging import log

url = "http://localhost:8001/api/%s"

class TestJson:

def call(self, name, post=None):
if not post: post = {}
post["session"] = self.key
u = urlopen(url % name, data=urlencode(post))
return loads(u.read())

def setUp(self):
u = urlopen(url % "login", data=urlencode({"username": "TestUser", "password": "pwhere"}))
self.key = loads(u.read())
assert self.key is not False

def test_wronglogin(self):
u = urlopen(url % "login", data=urlencode({"username": "crap", "password": "wrongpw"}))
assert loads(u.read()) is False

def test_access(self):
try:
urlopen(url % "getServerVersion")
except HTTPError, e:
assert e.code == 403
else:
assert False

def test_status(self):
ret = self.call("statusServer")
log(1, str(ret))
assert "pause" in ret
assert "queue" in ret

def test_unknown_method(self):
try:
self.call("notExisting")
except HTTPError, e:
assert e.code == 404
else:
assert False

0 comments on commit c484268

Please sign in to comment.