|
35 | 35 | from cloudant import cloudant, cloudant_bluemix, couchdb, couchdb_admin_party |
36 | 36 | from cloudant.client import Cloudant, CouchDB |
37 | 37 | from cloudant.client_session import BasicSession, CookieSession |
| 38 | +from cloudant.database import CloudantDatabase |
38 | 39 | from cloudant.error import CloudantArgumentError, CloudantClientException |
39 | 40 | from cloudant.feed import Feed, InfiniteFeed |
40 | 41 |
|
@@ -246,6 +247,31 @@ def test_session_basic(self, m_req): |
246 | 247 |
|
247 | 248 | self.assertEquals(all_dbs, ['animaldb']) |
248 | 249 |
|
| 250 | + @mock.patch('cloudant.client_session.Session.request') |
| 251 | + def test_session_basic_with_no_credentials(self, m_req): |
| 252 | + """ |
| 253 | + Test using basic access authentication with no credentials. |
| 254 | + """ |
| 255 | + m_response_ok = mock.MagicMock() |
| 256 | + type(m_response_ok).status_code = mock.PropertyMock(return_value=200) |
| 257 | + m_req.return_value = m_response_ok |
| 258 | + |
| 259 | + client = Cloudant(None, None, url=self.url, use_basic_auth=True) |
| 260 | + client.connect() |
| 261 | + self.assertIsInstance(client.r_session, BasicSession) |
| 262 | + |
| 263 | + db = client['animaldb'] |
| 264 | + |
| 265 | + m_req.assert_called_once_with( |
| 266 | + 'HEAD', |
| 267 | + self.url + '/animaldb', |
| 268 | + allow_redirects=False, |
| 269 | + auth=None, # ensure no authentication specified |
| 270 | + timeout=None |
| 271 | + ) |
| 272 | + |
| 273 | + self.assertIsInstance(db, CloudantDatabase) |
| 274 | + |
249 | 275 | @mock.patch('cloudant.client_session.Session.request') |
250 | 276 | def test_change_credentials_basic(self, m_req): |
251 | 277 | """ |
|
0 commit comments