class MetricCollectorTest(unittest.TestCase): def setUp(self): self.auth_db = SwiftBasedAuthDB('http://127.0.0.1:8080/v1/auth') def test_init(self): auth_db = SwiftBasedAuthDB('http://127.0.0.1:8080/v1/auth') self.assertEquals(auth_db.auth_url, 'http://127.0.0.1:8080/v1/auth') self.assertEquals(auth_db.global_max_concurrency, 100) self.assertEquals(auth_db.max_concurrency, 10) self.assertEquals(auth_db.timeout, 260) self.assertEquals(auth_db.verbose, False) auth_db = SwiftBasedAuthDB( 'http://127.0.0.1:8080/v1/auth', global_max_concurrency=200, max_concurrency=20, timeout=460, verbose=True, ) self.assertEquals(auth_db.auth_url, 'http://127.0.0.1:8080/v1/auth') self.assertEquals(auth_db.global_max_concurrency, 200) self.assertEquals(auth_db.max_concurrency, 20) self.assertEquals(auth_db.timeout, 460) self.assertEquals(auth_db.verbose, True) @patch('swftp.auth.ThrottledSwiftConnection.authenticate', authenticate_good) def test_request_avatar_id(self): creds = UsernamePassword('username', 'password') return self.auth_db.requestAvatarId(creds) @patch('swftp.auth.ThrottledSwiftConnection.authenticate', authenticate_bad) def test_request_avatar_id_fail(self): creds = UsernamePassword('username', 'password') d = self.auth_db.requestAvatarId(creds) return self.assertFailure(d, UnauthorizedLogin) def test_request_avatar_id_invalid_method(self): return self.assertFailure( self.auth_db.requestAvatarId('nope'), UnauthorizedLogin)
def test_zero_concurrency(self): auth_db = SwiftBasedAuthDB( 'http://127.0.0.1:8080/v1/auth', global_max_concurrency=0, max_concurrency=0, ) def check_connection(conn): self.assertEquals(conn.username, 'username') self.assertEquals(conn.api_key, 'password') # Default connection pool size per host is 2 self.assertEquals(conn.pool.maxPersistentPerHost, 2) self.assertEquals(conn.pool.persistent, False) self.assertEquals(conn.locks, []) creds = UsernamePassword('username', 'password') d = auth_db.requestAvatarId(creds) d.addCallback(check_connection) return d
class AuthenticateTest(unittest.TestCase): def setUp(self): self.auth_db = SwiftBasedAuthDB('http://127.0.0.1:8080/v1/auth') def test_init(self): auth_db = SwiftBasedAuthDB('http://127.0.0.1:8080/v1/auth') self.assertEquals(auth_db.auth_url, 'http://127.0.0.1:8080/v1/auth') self.assertEquals(auth_db.global_max_concurrency, 100) self.assertEquals(auth_db.max_concurrency, 10) self.assertEquals(auth_db.timeout, 260) self.assertEquals(auth_db.verbose, False) self.assertEquals(auth_db.rewrite_scheme, None) self.assertEquals(auth_db.rewrite_netloc, None) auth_db = SwiftBasedAuthDB( 'http://127.0.0.1:8080/v1/auth', global_max_concurrency=200, max_concurrency=20, timeout=460, verbose=True, rewrite_scheme='https', rewrite_netloc='some-hostname:1234', ) self.assertEquals(auth_db.auth_url, 'http://127.0.0.1:8080/v1/auth') self.assertEquals(auth_db.global_max_concurrency, 200) self.assertEquals(auth_db.max_concurrency, 20) self.assertEquals(auth_db.timeout, 460) self.assertEquals(auth_db.verbose, True) self.assertEquals(auth_db.rewrite_scheme, 'https') self.assertEquals(auth_db.rewrite_netloc, 'some-hostname:1234') @patch('swftp.auth.ThrottledSwiftConnection.authenticate', authenticate_good) def test_request_avatar_id(self): creds = UsernamePassword('username', 'password') return self.auth_db.requestAvatarId(creds) @patch('swftp.auth.ThrottledSwiftConnection.authenticate', authenticate_good) def test_zero_concurrency(self): auth_db = SwiftBasedAuthDB( 'http://127.0.0.1:8080/v1/auth', global_max_concurrency=0, max_concurrency=0, ) def check_connection(conn): self.assertEquals(conn.username, 'username') self.assertEquals(conn.api_key, 'password') # Default connection pool size per host is 2 self.assertEquals(conn.pool.maxPersistentPerHost, 2) self.assertEquals(conn.pool.persistent, False) self.assertEquals(conn.locks, []) creds = UsernamePassword('username', 'password') d = auth_db.requestAvatarId(creds) d.addCallback(check_connection) return d @patch('swftp.auth.ThrottledSwiftConnection.authenticate', authenticate_bad) def test_request_avatar_id_fail(self): creds = UsernamePassword('username', 'password') d = self.auth_db.requestAvatarId(creds) return self.assertFailure(d, UnauthorizedLogin) def test_request_avatar_id_invalid_method(self): return self.assertFailure( self.auth_db.requestAvatarId('nope'), UnauthorizedLogin)
class AuthenticateTest(unittest.TestCase): def setUp(self): self.auth_db = SwiftBasedAuthDB('http://127.0.0.1:8080/v1/auth') def test_init(self): auth_db = SwiftBasedAuthDB('http://127.0.0.1:8080/v1/auth') self.assertEquals(auth_db.auth_url, 'http://127.0.0.1:8080/v1/auth') self.assertEquals(auth_db.global_max_concurrency, 100) self.assertEquals(auth_db.max_concurrency, 10) self.assertEquals(auth_db.timeout, 260) self.assertEquals(auth_db.verbose, False) self.assertEquals(auth_db.rewrite_scheme, None) self.assertEquals(auth_db.rewrite_netloc, None) auth_db = SwiftBasedAuthDB( 'http://127.0.0.1:8080/v1/auth', global_max_concurrency=200, max_concurrency=20, timeout=460, verbose=True, rewrite_scheme='https', rewrite_netloc='some-hostname:1234', ) self.assertEquals(auth_db.auth_url, 'http://127.0.0.1:8080/v1/auth') self.assertEquals(auth_db.global_max_concurrency, 200) self.assertEquals(auth_db.max_concurrency, 20) self.assertEquals(auth_db.timeout, 460) self.assertEquals(auth_db.verbose, True) self.assertEquals(auth_db.rewrite_scheme, 'https') self.assertEquals(auth_db.rewrite_netloc, 'some-hostname:1234') @patch('swftp.auth.ThrottledSwiftConnection.authenticate', authenticate_good) def test_request_avatar_id(self): creds = UsernamePassword('username', 'password') return self.auth_db.requestAvatarId(creds) @patch('swftp.auth.ThrottledSwiftConnection.authenticate', authenticate_good) def test_zero_concurrency(self): auth_db = SwiftBasedAuthDB( 'http://127.0.0.1:8080/v1/auth', global_max_concurrency=0, max_concurrency=0, ) def check_connection(conn): self.assertEquals(conn.username, 'username') self.assertEquals(conn.api_key, 'password') # Default connection pool size per host is 2 self.assertEquals(conn.pool.maxPersistentPerHost, 2) self.assertEquals(conn.pool.persistent, False) self.assertEquals(conn.locks, []) creds = UsernamePassword('username', 'password') d = auth_db.requestAvatarId(creds) d.addCallback(check_connection) return d @patch('swftp.auth.ThrottledSwiftConnection.authenticate', authenticate_bad) def test_request_avatar_id_fail(self): creds = UsernamePassword('username', 'password') d = self.auth_db.requestAvatarId(creds) return self.assertFailure(d, UnauthorizedLogin) def test_request_avatar_id_invalid_method(self): return self.assertFailure(self.auth_db.requestAvatarId('nope'), UnauthorizedLogin)