mirror of
https://github.com/balkian/bitter.git
synced 2025-08-30 07:12:20 +00:00
Config from variable or file
This replaces the old file of credentials (with one per line) with a configuration in YAML format. The configuration can be stored either in a file or in an environment variable (BITTER_CONFIG). There is still a command line argument to add the credentials in that file to the config.
This commit is contained in:
@@ -12,7 +12,11 @@ from bitter import config as c
|
||||
class TestCrawlers(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.wq = easy(os.path.join(os.path.dirname(__file__), 'credentials.json'))
|
||||
CONF_PATH = os.path.join(os.path.dirname(__file__), '.bitter.yaml')
|
||||
if os.path.exists(CONF_PATH):
|
||||
self.wq = easy(CONF_PATH)
|
||||
else:
|
||||
self.wq = easy()
|
||||
|
||||
def test_create_worker(self):
|
||||
assert len(self.wq.queue)==1
|
||||
|
@@ -8,56 +8,65 @@ from bitter import config as c
|
||||
|
||||
class TestUtils(TestCase):
|
||||
|
||||
configfile = '/tmp/bitter.yaml'
|
||||
|
||||
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)
|
||||
c.CONFIG_FILE = self.configfile
|
||||
if os.path.exists(self.configfile):
|
||||
os.remove(self.configfile)
|
||||
assert not os.path.exists(self.configfile)
|
||||
utils.create_config_file(self.configfile)
|
||||
assert os.path.exists(self.configfile)
|
||||
|
||||
|
||||
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"
|
||||
utils.add_credentials(self.configfile, user="test")
|
||||
assert utils.get_credentials(self.configfile)
|
||||
assert utils.get_credentials(self.configfile, user="test")
|
||||
assert list(utils.get_credentials(self.configfile, 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)
|
||||
utils.add_credentials(self.configfile, user="test")
|
||||
assert utils.get_credentials(self.configfile, user="test")
|
||||
assert not utils.get_credentials(self.configfile, 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")
|
||||
utils.add_credentials(self.configfile, user="test")
|
||||
utils.add_credentials(self.configfile, user="test2")
|
||||
assert utils.get_credentials(self.configfile, user="test")
|
||||
assert utils.get_credentials(self.configfile, 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")
|
||||
utils.add_credentials(self.configfile, user="test")
|
||||
assert utils.get_credentials(self.configfile, user="test")
|
||||
utils.delete_credentials(self.configfile, user="test")
|
||||
assert not utils.get_credentials(self.configfile, user="test")
|
||||
|
||||
def test_parallel(self):
|
||||
import time
|
||||
def echo(i):
|
||||
time.sleep(2)
|
||||
time.sleep(0.5)
|
||||
return i
|
||||
tic = time.time()
|
||||
resp = utils.parallel(echo, [1,2,3])
|
||||
assert isinstance(resp, types.GeneratorType)
|
||||
assert list(resp) == [1,2,3]
|
||||
toc = time.time()
|
||||
assert (tic-toc) < 6000
|
||||
assert (tic-toc) < 600
|
||||
resp2 = utils.parallel(echo, [1,2,3,4], chunksize=2)
|
||||
assert list(resp2) == [1,2,3,4]
|
||||
|
||||
|
||||
class TestUtilsEnv(TestUtils):
|
||||
configfile = None
|
||||
|
||||
def setUp(self):
|
||||
if 'BITTER_CONFIG' in os.environ:
|
||||
self.oldenv = os.environ['BITTER_CONFIG']
|
||||
os.environ['BITTER_CONFIG'] = ''
|
||||
|
||||
def tearDown(self):
|
||||
if hasattr(self, 'oldenv'):
|
||||
os.environ['BITTER_CONFIG'] = self.oldenv
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user