summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-11-22 11:35:54 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-11-22 12:26:55 (GMT)
commit1621d7001dbc560df9d5e497db47cf315a2c83a9 (patch)
treed6d1ff106621a31d31bb878e4e042d791242a073
parent4bfb75b3dd40bdbfc3a142dc43ecfbebedcc4d3a (diff)
downloadswift-contrib-1621d7001dbc560df9d5e497db47cf315a2c83a9.zip
swift-contrib-1621d7001dbc560df9d5e497db47cf315a2c83a9.tar.bz2
Added SCRAM-SHA-1 unit test for final client message.
-rw-r--r--Swiften/SASL/SCRAMSHA1ClientAuthenticator.h4
-rw-r--r--Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp17
2 files changed, 14 insertions, 7 deletions
diff --git a/Swiften/SASL/SCRAMSHA1ClientAuthenticator.h b/Swiften/SASL/SCRAMSHA1ClientAuthenticator.h
index ec800cc..9504b35 100644
--- a/Swiften/SASL/SCRAMSHA1ClientAuthenticator.h
+++ b/Swiften/SASL/SCRAMSHA1ClientAuthenticator.h
@@ -11,8 +11,8 @@ namespace Swift {
public:
SCRAMSHA1ClientAuthenticator(const String& nonce);
- ByteArray getResponse();
- bool setChallenge(const ByteArray&);
+ virtual ByteArray getResponse();
+ virtual bool setChallenge(const ByteArray&);
private:
ByteArray getInitialBareClientMessage() const;
diff --git a/Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp b/Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp
index 9f7ef38..9f18ff0 100644
--- a/Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp
+++ b/Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp
@@ -10,15 +10,15 @@ class SCRAMSHA1ClientAuthenticatorTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(SCRAMSHA1ClientAuthenticatorTest);
CPPUNIT_TEST(testGetInitialResponse);
CPPUNIT_TEST(testGetInitialResponse_UsernameHasSpecialChars);
+ CPPUNIT_TEST(testGetFinalResponse);
CPPUNIT_TEST_SUITE_END();
public:
void setUp() {
- nonce = String("abcdefghABCDEFGH");
}
void testGetInitialResponse() {
- SCRAMSHA1ClientAuthenticator testling(nonce);
+ SCRAMSHA1ClientAuthenticator testling("abcdefghABCDEFGH");
testling.setCredentials("user", "pass", "");
ByteArray response = testling.getResponse();
@@ -27,7 +27,7 @@ class SCRAMSHA1ClientAuthenticatorTest : public CppUnit::TestFixture {
}
void testGetInitialResponse_UsernameHasSpecialChars() {
- SCRAMSHA1ClientAuthenticator testling(nonce);
+ SCRAMSHA1ClientAuthenticator testling("abcdefghABCDEFGH");
testling.setCredentials(",us=,er=", "pass", "");
ByteArray response = testling.getResponse();
@@ -35,8 +35,15 @@ class SCRAMSHA1ClientAuthenticatorTest : public CppUnit::TestFixture {
CPPUNIT_ASSERT_EQUAL(String("n,,n==2Cus=3D=2Cer=3D,r=abcdefghABCDEFGH"), testling.getResponse().toString());
}
- private:
- String nonce;
+ void testGetFinalResponse() {
+ SCRAMSHA1ClientAuthenticator testling("abcdefgh");
+ testling.setCredentials("user", "pass", "");
+ testling.setChallenge(ByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096"));
+
+ ByteArray response = testling.getResponse();
+
+ CPPUNIT_ASSERT_EQUAL(String("c=biwsCg==,r=abcdefghABCDEFGH,p=bVzb1EAf2hXw5Z+QIMYPTy5TOsU="), testling.getResponse().toString());
+ }
};
CPPUNIT_TEST_SUITE_REGISTRATION(SCRAMSHA1ClientAuthenticatorTest);