diff options
author | Remko Tronçon <git@el-tramo.be> | 2009-06-01 08:48:42 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2009-06-01 09:24:28 (GMT) |
commit | 2812bddd81f8a1b804c7460f4e14cd0aa393d129 (patch) | |
tree | d46294f35150c4f0f43deaf2d31fceaf945ae715 /Swiften/SASL | |
download | swift-contrib-2812bddd81f8a1b804c7460f4e14cd0aa393d129.zip swift-contrib-2812bddd81f8a1b804c7460f4e14cd0aa393d129.tar.bz2 |
Import.
Diffstat (limited to 'Swiften/SASL')
-rw-r--r-- | Swiften/SASL/Makefile.inc | 4 | ||||
-rw-r--r-- | Swiften/SASL/PLAINMessage.cpp | 10 | ||||
-rw-r--r-- | Swiften/SASL/PLAINMessage.h | 22 | ||||
-rw-r--r-- | Swiften/SASL/UnitTest/Makefile.inc | 2 | ||||
-rw-r--r-- | Swiften/SASL/UnitTest/PLAINMessageTest.cpp | 29 |
5 files changed, 67 insertions, 0 deletions
diff --git a/Swiften/SASL/Makefile.inc b/Swiften/SASL/Makefile.inc new file mode 100644 index 0000000..e6c658f --- /dev/null +++ b/Swiften/SASL/Makefile.inc @@ -0,0 +1,4 @@ +SWIFTEN_SOURCES += \ + Swiften/SASL/PLAINMessage.cpp + +include Swiften/SASL/UnitTest/Makefile.inc diff --git a/Swiften/SASL/PLAINMessage.cpp b/Swiften/SASL/PLAINMessage.cpp new file mode 100644 index 0000000..c88d6cf --- /dev/null +++ b/Swiften/SASL/PLAINMessage.cpp @@ -0,0 +1,10 @@ +#include "Swiften/SASL/PLAINMessage.h" + +namespace Swift { + +PLAINMessage::PLAINMessage(const String& authcid, const String& password, const String& authzid) { + String s = authzid + '\0' + authcid + '\0' + password; + value_ = ByteArray(s.getUTF8Data(), s.getUTF8Size()); +} + +} diff --git a/Swiften/SASL/PLAINMessage.h b/Swiften/SASL/PLAINMessage.h new file mode 100644 index 0000000..14a51f2 --- /dev/null +++ b/Swiften/SASL/PLAINMessage.h @@ -0,0 +1,22 @@ +#ifndef SASL_PLAINMESSAGE_H +#define SASL_PLAINMESSAGE_H + +#include "Swiften/Base/String.h" +#include "Swiften/Base/ByteArray.h" + +namespace Swift { + class PLAINMessage + { + public: + PLAINMessage(const String& authcid, const String& password, const String& authzid = ""); + + const ByteArray& getValue() { + return value_; + } + + private: + ByteArray value_; + }; +} + +#endif diff --git a/Swiften/SASL/UnitTest/Makefile.inc b/Swiften/SASL/UnitTest/Makefile.inc new file mode 100644 index 0000000..e985898 --- /dev/null +++ b/Swiften/SASL/UnitTest/Makefile.inc @@ -0,0 +1,2 @@ +UNITTEST_SOURCES += \ + Swiften/SASL/UnitTest/PLAINMessageTest.cpp diff --git a/Swiften/SASL/UnitTest/PLAINMessageTest.cpp b/Swiften/SASL/UnitTest/PLAINMessageTest.cpp new file mode 100644 index 0000000..da9287a --- /dev/null +++ b/Swiften/SASL/UnitTest/PLAINMessageTest.cpp @@ -0,0 +1,29 @@ +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/extensions/TestFactoryRegistry.h> + +#include "Swiften/SASL/PLAINMessage.h" + +using namespace Swift; + +class PLAINMessageTest : public CppUnit::TestFixture +{ + CPPUNIT_TEST_SUITE(PLAINMessageTest); + CPPUNIT_TEST(testConstructor_WithoutAuthzID); + CPPUNIT_TEST(testConstructor_WithAuthzID); + CPPUNIT_TEST_SUITE_END(); + + public: + PLAINMessageTest() {} + + void testConstructor_WithoutAuthzID() { + PLAINMessage message("user", "pass"); + CPPUNIT_ASSERT_EQUAL(message.getValue(), ByteArray("\0user\0pass", 10)); + } + + void testConstructor_WithAuthzID() { + PLAINMessage message("user", "pass", "authz"); + CPPUNIT_ASSERT_EQUAL(message.getValue(), ByteArray("authz\0user\0pass", 15)); + } +}; + +CPPUNIT_TEST_SUITE_REGISTRATION(PLAINMessageTest); |