summaryrefslogtreecommitdiffstats
path: root/gluster/swift/common/middleware/gswauth/test_swauth/unit/test_authtypes.py
diff options
context:
space:
mode:
authorLuis Pabon <lpabon@redhat.com>2013-10-10 16:53:28 -0400
committerLuis Pabon <lpabon@redhat.com>2013-10-13 19:36:20 -0700
commitac1ac5bd2171e61ba4332dcae33d8a433cef7a4f (patch)
tree9d836201435c83cf59a659124f004a03f488c1f5 /gluster/swift/common/middleware/gswauth/test_swauth/unit/test_authtypes.py
parent46cd43fdf401b16f9e1b588e5fc8d2c5dd599b37 (diff)
GSWauth authentication to be based on SWauth
We are planning on creating a GlusterFS aware authentication system for gluster-swift based on SWauth. We forked from SWauth commit 41d36ebe160aa3346f6f45197fff0c80f38fde58 Change-Id: Ia28730d21e04fc8d9ce0cb317fc04d0d97583fca Signed-off-by: Luis Pabon <lpabon@redhat.com> Reviewed-on: http://review.gluster.org/6069
Diffstat (limited to 'gluster/swift/common/middleware/gswauth/test_swauth/unit/test_authtypes.py')
-rw-r--r--gluster/swift/common/middleware/gswauth/test_swauth/unit/test_authtypes.py64
1 files changed, 64 insertions, 0 deletions
diff --git a/gluster/swift/common/middleware/gswauth/test_swauth/unit/test_authtypes.py b/gluster/swift/common/middleware/gswauth/test_swauth/unit/test_authtypes.py
new file mode 100644
index 0000000..eda1de4
--- /dev/null
+++ b/gluster/swift/common/middleware/gswauth/test_swauth/unit/test_authtypes.py
@@ -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()