61
60
views_factory=testcase.views_factory)
63
class TestMockedCouchDatabaseCreateStates(MockerTestCase):
66
super(TestMockedCouchDatabaseCreateStates, self).setUp()
67
self.record_factory = self.mocker.mock()
68
self.server_class = self.mocker.mock()
69
self.oauth_tokens = self.mocker.mock()
70
self.ctx = self.mocker.mock()
72
self.dbname = self._testMethodName
74
def test_create_already_exists(self):
75
"""Access DB with create=True, when it already exists."""
76
self.server_class(self.uri, ctx=self.ctx,
77
oauth_tokens=self.oauth_tokens)
78
self.mocker.result(self.server_class)
79
self.server_class.create(self.dbname)
80
self.mocker.throw(PreconditionFailed)
82
self.server_class[self.dbname]
83
self.mocker.result(self.server_class)
84
self.server_class.info()
85
self.mocker.result({'update_seq': []})
88
database = DesktopDatabase(self.dbname, uri=self.uri,
89
record_factory=self.record_factory, create=True,
90
server_class=self.server_class,
91
oauth_tokens=self.oauth_tokens, ctx=self.ctx)
93
def test_create_new(self):
94
"""Access DB with create=True, when it doesn't exist."""
95
self.server_class(self.uri, ctx=self.ctx,
96
oauth_tokens=self.oauth_tokens)
97
self.mocker.result(self.server_class)
98
self.server_class.create(self.dbname)
99
self.mocker.result(self.server_class)
100
self.server_class[self.dbname]
101
self.mocker.result(self.server_class)
102
info = self.mocker.mock()
103
self.server_class.info()
104
self.mocker.result(info)
106
self.mocker.result({})
108
database = DesktopDatabase(self.dbname, uri=self.uri,
109
record_factory=self.record_factory, create=True,
110
server_class=self.server_class,
111
oauth_tokens=self.oauth_tokens, ctx=self.ctx)
113
def test_no_create_not_exists(self):
114
"""Access DB with create=False, when it already exists."""
115
self.server_class(self.uri, ctx=self.ctx,
116
oauth_tokens=self.oauth_tokens)
117
self.mocker.result(self.server_class)
119
self.server_class[self.dbname]
120
self.mocker.throw(ResourceNotFound)
123
self.assertRaises(NoSuchDatabase,
124
DesktopDatabase, self.dbname, uri=self.uri,
125
record_factory=self.record_factory, create=False,
126
server_class=self.server_class,
127
oauth_tokens=self.oauth_tokens, ctx=self.ctx)
129
def test_no_create_already_exists(self):
130
"""Access DB with create=False, when it doesn't exist."""
131
self.server_class(self.uri, ctx=self.ctx,
132
oauth_tokens=self.oauth_tokens)
133
self.mocker.result(self.server_class)
134
self.server_class[self.dbname]
135
self.mocker.result(self.server_class)
136
info = self.mocker.mock()
137
self.server_class.info()
138
self.mocker.result(info)
140
self.mocker.result({})
143
database = DesktopDatabase(self.dbname, uri=self.uri,
144
record_factory=self.record_factory, create=False,
145
server_class=self.server_class,
146
oauth_tokens=self.oauth_tokens, ctx=self.ctx)
64
149
class TestMockedCouchDatabaseDeprecated(MockerTestCase):
65
150
"""Test the deprecated API."""
199
284
self.server_class(self.uri, ctx=self.ctx,
200
285
oauth_tokens=self.oauth_tokens)
201
286
self.mocker.result(self.server_class)
202
self.dbname in self.server_class
203
self.mocker.result(False)
287
self.server_class[self.dbname]
288
self.mocker.throw(ResourceNotFound)
204
289
self.mocker.replay()
205
290
self.assertRaises(NoSuchDatabase, DesktopDatabase, self.dbname,
206
291
uri=self.uri, record_factory=self.record_factory, create=False,