diff options
| -rw-r--r-- | testing/tests/couch/conftest.py | 31 | ||||
| -rw-r--r-- | testing/tests/couch/test_state.py | 33 | 
2 files changed, 20 insertions, 44 deletions
| diff --git a/testing/tests/couch/conftest.py b/testing/tests/couch/conftest.py deleted file mode 100644 index 1074f091..00000000 --- a/testing/tests/couch/conftest.py +++ /dev/null @@ -1,31 +0,0 @@ -import couchdb -import pytest -import random -import string - - -@pytest.fixture -def random_name(): -    return 'user-' + ''.join( -        random.choice( -            string.ascii_lowercase) for _ in range(10)) - - -class RandomDatabase(object): - -    def __init__(self, couch_url, name): -        self.couch_url = couch_url -        self.name = name -        self.server = couchdb.client.Server(couch_url) -        self.database = self.server.create(name) - -    def teardown(self): -        self.server.delete(self.name) - - -@pytest.fixture -def db(random_name, request): -    couch_url = request.config.getoption('--couch-url') -    db = RandomDatabase(couch_url, random_name) -    request.addfinalizer(db.teardown) -    return db diff --git a/testing/tests/couch/test_state.py b/testing/tests/couch/test_state.py index e293b5b8..e5ac3704 100644 --- a/testing/tests/couch/test_state.py +++ b/testing/tests/couch/test_state.py @@ -1,25 +1,32 @@  import pytest -  from leap.soledad.common.couch import CONFIG_DOC_ID  from leap.soledad.common.couch import SCHEMA_VERSION  from leap.soledad.common.couch import SCHEMA_VERSION_KEY  from leap.soledad.common.couch.state import CouchServerState +from uuid import uuid4  from leap.soledad.common.errors import WrongCouchSchemaVersionError  from leap.soledad.common.errors import MissingCouchConfigDocumentError +from test_soledad.util import CouchDBTestCase + +class CouchDesignDocsTests(CouchDBTestCase): -def test_wrong_couch_version_raises(db): -    wrong_schema_version = SCHEMA_VERSION + 1 -    db.database.create( -        {'_id': CONFIG_DOC_ID, SCHEMA_VERSION_KEY: wrong_schema_version}) -    with pytest.raises(WrongCouchSchemaVersionError): -        CouchServerState(db.couch_url, create_cmd='/bin/echo', -                         check_schema_versions=True) +    def setUp(self): +        CouchDBTestCase.setUp(self) +        self.db = self.couch_server.create('user-' + uuid4().hex) +        self.addCleanup(self.delete_db, self.db.name) +    def test_wrong_couch_version_raises(self): +        wrong_schema_version = SCHEMA_VERSION + 1 +        self.db.create( +            {'_id': CONFIG_DOC_ID, SCHEMA_VERSION_KEY: wrong_schema_version}) +        with pytest.raises(WrongCouchSchemaVersionError): +            CouchServerState(self.couch_url, create_cmd='/bin/echo', +                             check_schema_versions=True) -def test_missing_config_doc_raises(db): -    db.database.create({}) -    with pytest.raises(MissingCouchConfigDocumentError): -        CouchServerState(db.couch_url, create_cmd='/bin/echo', -                         check_schema_versions=True) +    def test_missing_config_doc_raises(self): +        self.db.create({}) +        with pytest.raises(MissingCouchConfigDocumentError): +            CouchServerState(self.couch_url, create_cmd='/bin/echo', +                             check_schema_versions=True) | 
