Tests for swauth initialization related to auth types
Tests for Plaintext and Sha1 auth encoders
This commit is contained in:
parent
e4bce8c1a4
commit
d7d918affb
64
test_swauth/unit/test_authtypes.py
Normal file
64
test_swauth/unit/test_authtypes.py
Normal file
@ -0,0 +1,64 @@
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
# implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Pablo Llopis 2011
|
||||
|
||||
import unittest
|
||||
from contextlib import contextmanager
|
||||
from swauth import authtypes
|
||||
|
||||
|
||||
class TestPlaintext(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.auth_encoder = authtypes.Plaintext()
|
||||
|
||||
def test_plaintext_encode(self):
|
||||
enc_key = self.auth_encoder.encode('keystring')
|
||||
self.assertEquals('plaintext:keystring', enc_key)
|
||||
|
||||
def test_plaintext_valid_match(self):
|
||||
creds = 'plaintext:keystring'
|
||||
match = self.auth_encoder.match('keystring', creds)
|
||||
self.assertEquals(match, True)
|
||||
|
||||
def test_plaintext_invalid_match(self):
|
||||
creds = 'plaintext:other-keystring'
|
||||
match = self.auth_encoder.match('keystring', creds)
|
||||
self.assertEquals(match, False)
|
||||
|
||||
|
||||
class TestSha1(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
self.auth_encoder = authtypes.Sha1()
|
||||
self.auth_encoder.salt = 'salt'
|
||||
|
||||
def test_sha1_encode(self):
|
||||
enc_key = self.auth_encoder.encode('keystring')
|
||||
self.assertEquals('sha1:salt$d50dc700c296e23ce5b41f7431a0e01f69010f06',
|
||||
enc_key)
|
||||
|
||||
def test_sha1_valid_match(self):
|
||||
creds = 'sha1:salt$d50dc700c296e23ce5b41f7431a0e01f69010f06'
|
||||
match = self.auth_encoder.match('keystring', creds)
|
||||
self.assertEquals(match, True)
|
||||
|
||||
def test_sha1_invalid_match(self):
|
||||
creds = 'sha1:salt$deadbabedeadbabedeadbabec0ffeebadc0ffeee'
|
||||
match = self.auth_encoder.match('keystring', creds)
|
||||
self.assertEquals(match, False)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
@ -145,6 +145,29 @@ class TestAuth(unittest.TestCase):
|
||||
'auth_prefix': 'test'})(app)
|
||||
self.assertEquals(ath.auth_prefix, '/test/')
|
||||
|
||||
def test_no_auth_type_init(self):
|
||||
app = FakeApp()
|
||||
ath = auth.filter_factory({})(app)
|
||||
self.assertEquals(ath.auth_type, 'Plaintext')
|
||||
|
||||
def test_valid_auth_type_init(self):
|
||||
app = FakeApp()
|
||||
ath = auth.filter_factory({'auth_type': 'sha1'})(app)
|
||||
self.assertEquals(ath.auth_type, 'Sha1')
|
||||
ath = auth.filter_factory({'auth_type': 'plaintext'})(app)
|
||||
self.assertEquals(ath.auth_type, 'Plaintext')
|
||||
|
||||
def test_invalid_auth_type_init(self):
|
||||
app = FakeApp()
|
||||
exc = None
|
||||
try:
|
||||
auth.filter_factory({'auth_type': 'NONEXISTANT'})(app)
|
||||
except Exception as err:
|
||||
exc = err
|
||||
self.assertEquals(str(exc),
|
||||
'Invalid auth_type in config file: %s' %
|
||||
'Nonexistant')
|
||||
|
||||
def test_default_swift_cluster_init(self):
|
||||
app = FakeApp()
|
||||
self.assertRaises(Exception, auth.filter_factory({
|
||||
|
Loading…
x
Reference in New Issue
Block a user