diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-11-22 10:20:58 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-11-22 10:27:01 (GMT) |
commit | 4e244a9d1967ad416530aa3b9b07faad54097327 (patch) | |
tree | 413ee864cb85976178eaf9efee7cf6ff92acd4b7 /Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp | |
parent | 38fbde49ec4ff77708237d768581a47e6dd7d553 (diff) | |
download | swift-contrib-4e244a9d1967ad416530aa3b9b07faad54097327.zip swift-contrib-4e244a9d1967ad416530aa3b9b07faad54097327.tar.bz2 |
Added SCRAM-SHA-1 unit test.
Diffstat (limited to 'Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp')
-rw-r--r-- | Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp b/Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp new file mode 100644 index 0000000..9f7ef38 --- /dev/null +++ b/Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp @@ -0,0 +1,42 @@ +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/extensions/TestFactoryRegistry.h> + +#include "Swiften/SASL/SCRAMSHA1ClientAuthenticator.h" +#include "Swiften/Base/ByteArray.h" + +using namespace Swift; + +class SCRAMSHA1ClientAuthenticatorTest : public CppUnit::TestFixture { + CPPUNIT_TEST_SUITE(SCRAMSHA1ClientAuthenticatorTest); + CPPUNIT_TEST(testGetInitialResponse); + CPPUNIT_TEST(testGetInitialResponse_UsernameHasSpecialChars); + CPPUNIT_TEST_SUITE_END(); + + public: + void setUp() { + nonce = String("abcdefghABCDEFGH"); + } + + void testGetInitialResponse() { + SCRAMSHA1ClientAuthenticator testling(nonce); + testling.setCredentials("user", "pass", ""); + + ByteArray response = testling.getResponse(); + + CPPUNIT_ASSERT_EQUAL(String("n,,n=user,r=abcdefghABCDEFGH"), testling.getResponse().toString()); + } + + void testGetInitialResponse_UsernameHasSpecialChars() { + SCRAMSHA1ClientAuthenticator testling(nonce); + testling.setCredentials(",us=,er=", "pass", ""); + + ByteArray response = testling.getResponse(); + + CPPUNIT_ASSERT_EQUAL(String("n,,n==2Cus=3D=2Cer=3D,r=abcdefghABCDEFGH"), testling.getResponse().toString()); + } + + private: + String nonce; +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(SCRAMSHA1ClientAuthenticatorTest); |