mirror of
https://github.com/balkian/bitter.git
synced 2024-12-22 00:18:12 +00:00
Drone tests, fixed get_credentials
This commit is contained in:
parent
17f589c710
commit
6ebb82ba54
@ -3,6 +3,7 @@ From python:2.7.9-onbuild
|
||||
Maintainer J. Fernando Sánchez @balkian
|
||||
|
||||
# RUN pip --cert cacert.pem install -r -v requirements.txt
|
||||
ADD . /usr/src/app/
|
||||
|
||||
RUN pip install --editable .;
|
||||
RUN pip install -e "/usr/src/app/[server]"
|
||||
ENTRYPOINT ["bitter"]
|
||||
|
@ -1,3 +1,6 @@
|
||||
include requirements.txt
|
||||
include test-requirements.txt
|
||||
include README.md
|
||||
graft bitter/templates
|
||||
graft bitter/static
|
||||
graft test
|
||||
|
@ -41,6 +41,14 @@ To add more users to the credentials file, you may run the builtin server, with
|
||||
python -m bitter server <consumer_key> <consumer_secret>
|
||||
```
|
||||
|
||||
If you get an error about missing dependencies, install the extra dependencies for the server. e.g.:
|
||||
|
||||
```
|
||||
pip install bitter[web]
|
||||
```
|
||||
|
||||
Make sure the callback url of your app is set to http://127.0.0.1:5000/callback_url/
|
||||
|
||||
# Notice
|
||||
Please, use according to Twitter's Terms of Service
|
||||
|
||||
|
7
bitter/__init__.py
Normal file
7
bitter/__init__.py
Normal file
@ -0,0 +1,7 @@
|
||||
"""
|
||||
Bitter module. A library and cli for Twitter using python-twitter.
|
||||
http://github.com/balkian/bitter
|
||||
"""
|
||||
|
||||
__version__ = '0.4.1'
|
||||
__all__ = ['cli', 'config', 'crawlers', 'models', 'utils' ]
|
@ -12,7 +12,14 @@ from sqlalchemy import exists
|
||||
|
||||
from bitter import utils, models, crawlers
|
||||
from bitter.models import make_session, User, ExtractorEntry, Following
|
||||
from contextlib import ExitStack
|
||||
|
||||
import sys
|
||||
if sys.version_info <= (3, 0):
|
||||
from contextlib2 import ExitStack
|
||||
else:
|
||||
from contextlib import ExitStack
|
||||
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
@ -46,7 +46,10 @@ def iter_credentials(credfile=None):
|
||||
def get_credentials(credfile=None, inverse=False, **kwargs):
|
||||
creds = []
|
||||
for i in iter_credentials(credfile):
|
||||
if all(map(lambda x: i[x[0]] == x[1], kwargs.items())):
|
||||
matches = all(map(lambda x: i[x[0]] == x[1], kwargs.items()))
|
||||
if matches and not inverse:
|
||||
creds.append(i)
|
||||
elif inverse and not matches:
|
||||
creds.append(i)
|
||||
return creds
|
||||
|
||||
|
1
requirements-py2.txt
Normal file
1
requirements-py2.txt
Normal file
@ -0,0 +1 @@
|
||||
contextlib2
|
15
setup.py
15
setup.py
@ -6,16 +6,25 @@ from pip.req import parse_requirements
|
||||
# pip 6 introduces the *required* session argument
|
||||
try:
|
||||
install_reqs = parse_requirements("requirements.txt", session=pip.download.PipSession())
|
||||
py2_reqs = parse_requirements("requirements-py2.txt", session=pip.download.PipSession())
|
||||
test_reqs = parse_requirements("test-requirements.txt", session=pip.download.PipSession())
|
||||
except AttributeError:
|
||||
install_reqs = parse_requirements("requirements.txt")
|
||||
py2_reqs = parse_requirements("requirements-py2.txt")
|
||||
test_reqs = parse_requirements("test-requirements.txt")
|
||||
|
||||
import sys
|
||||
import itertools
|
||||
if sys.version_info <= (3, 0):
|
||||
install_reqs = itertools.chain(install_reqs, py2_reqs)
|
||||
|
||||
# reqs is a list of requirement
|
||||
# e.g. ['django==1.5.1', 'mezzanine==1.4.6']
|
||||
install_reqs = [str(ir.req) for ir in install_reqs]
|
||||
test_reqs = [str(ir.req) for ir in test_reqs]
|
||||
|
||||
with open('bitter/__init__.py') as f:
|
||||
exec(f.read())
|
||||
|
||||
setup(
|
||||
name="bitter",
|
||||
@ -27,9 +36,13 @@ setup(
|
||||
author='J. Fernando Sanchez',
|
||||
author_email='balkian@gmail.com',
|
||||
url="http://balkian.com",
|
||||
version="0.4",
|
||||
version=__version__,
|
||||
install_requires=install_reqs,
|
||||
tests_require=test_reqs,
|
||||
extras_require = {
|
||||
'server': ['flask', 'flask-oauthlib']
|
||||
},
|
||||
test_suite="tests",
|
||||
include_package_data=True,
|
||||
entry_points="""
|
||||
[console_scripts]
|
||||
|
@ -0,0 +1 @@
|
||||
pytest
|
@ -1,9 +0,0 @@
|
||||
from unittest import TestCase
|
||||
|
||||
from bitter.crawlers import TwitterWorker, TwitterQueue
|
||||
|
||||
class TestWorker(TestCase):
|
||||
|
||||
|
||||
def test_worker(self):
|
||||
w = TwitterWorker()
|
@ -1,6 +0,0 @@
|
||||
from unittest import TestCase
|
||||
|
||||
class TestModels(TestCase):
|
||||
|
||||
def test_worker(self):
|
||||
assert True
|
@ -1,7 +1,50 @@
|
||||
from unittest import TestCase
|
||||
|
||||
import os
|
||||
|
||||
from bitter import utils
|
||||
from bitter import config as c
|
||||
|
||||
class TestUtils(TestCase):
|
||||
|
||||
def test_get_user(self):
|
||||
assert True
|
||||
def setUp(self):
|
||||
self.credfile = '/tmp/credentials.txt'
|
||||
c.CREDENTIALS = self.credfile
|
||||
if os.path.exists(self.credfile):
|
||||
os.remove(self.credfile)
|
||||
utils.create_credentials(self.credfile)
|
||||
|
||||
|
||||
def test_create_credentials(self):
|
||||
assert os.path.exists(self.credfile)
|
||||
os.remove(self.credfile)
|
||||
utils.create_credentials() # From config
|
||||
assert os.path.exists(self.credfile)
|
||||
|
||||
def test_add_credentials(self):
|
||||
utils.add_credentials(self.credfile, user="test")
|
||||
assert utils.get_credentials(self.credfile)
|
||||
assert utils.get_credentials(user="test")
|
||||
assert list(utils.get_credentials(user="test"))[0]["user"] == "test"
|
||||
|
||||
def test_get_credentials(self):
|
||||
utils.add_credentials(self.credfile, user="test")
|
||||
assert utils.get_credentials(user="test")
|
||||
assert not utils.get_credentials(user="test", inverse=True)
|
||||
|
||||
def test_add_two_credentials(self):
|
||||
utils.add_credentials(self.credfile, user="test")
|
||||
utils.add_credentials(self.credfile, user="test2")
|
||||
assert utils.get_credentials(user="test")
|
||||
assert utils.get_credentials(user="test2")
|
||||
|
||||
|
||||
def test_delete_credentials(self):
|
||||
utils.add_credentials(self.credfile, user="test")
|
||||
assert utils.get_credentials(user="test")
|
||||
utils.delete_credentials(user="test")
|
||||
print(utils.get_credentials())
|
||||
assert not utils.get_credentials(user="test")
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user