diff options
Diffstat (limited to 'Swiften/SASL/UnitTest')
5 files changed, 96 insertions, 90 deletions
diff --git a/Swiften/SASL/UnitTest/DIGESTMD5ClientAuthenticatorTest.cpp b/Swiften/SASL/UnitTest/DIGESTMD5ClientAuthenticatorTest.cpp index 54f0571..38bab15 100644 --- a/Swiften/SASL/UnitTest/DIGESTMD5ClientAuthenticatorTest.cpp +++ b/Swiften/SASL/UnitTest/DIGESTMD5ClientAuthenticatorTest.cpp @@ -4,11 +4,13 @@   * See Documentation/Licenses/GPLv3.txt for more information.   */ +#include <QA/Checker/IO.h> +  #include <cppunit/extensions/HelperMacros.h>  #include <cppunit/extensions/TestFactoryRegistry.h> -#include "Swiften/SASL/DIGESTMD5ClientAuthenticator.h" -#include "Swiften/Base/ByteArray.h" +#include <Swiften/SASL/DIGESTMD5ClientAuthenticator.h> +#include <Swiften/Base/ByteArray.h>  using namespace Swift; @@ -30,29 +32,29 @@ class DIGESTMD5ClientAuthenticatorTest : public CppUnit::TestFixture {  		void testGetResponse() {  			DIGESTMD5ClientAuthenticator testling("xmpp.example.com", "abcdefgh"); -			testling.setCredentials("user", "pass", ""); -			testling.setChallenge(ByteArray( +			testling.setCredentials("user", createSafeByteArray("pass"), ""); +			testling.setChallenge(createByteArray(  				"realm=\"example.com\","  				"nonce=\"O6skKPuaCZEny3hteI19qXMBXSadoWs840MchORo\","  				"qop=auth,charset=utf-8,algorithm=md5-sess")); -			ByteArray response = *testling.getResponse(); +			SafeByteArray response = *testling.getResponse(); -			CPPUNIT_ASSERT_EQUAL(std::string("charset=utf-8,cnonce=\"abcdefgh\",digest-uri=\"xmpp/xmpp.example.com\",nc=00000001,nonce=\"O6skKPuaCZEny3hteI19qXMBXSadoWs840MchORo\",qop=auth,realm=\"example.com\",response=088891c800ecff1b842159ad6459104a,username=\"user\""), response.toString()); +			CPPUNIT_ASSERT_EQUAL(createSafeByteArray("charset=utf-8,cnonce=\"abcdefgh\",digest-uri=\"xmpp/xmpp.example.com\",nc=00000001,nonce=\"O6skKPuaCZEny3hteI19qXMBXSadoWs840MchORo\",qop=auth,realm=\"example.com\",response=088891c800ecff1b842159ad6459104a,username=\"user\""), response);  		}  		void testGetResponse_WithAuthorizationID() {  			DIGESTMD5ClientAuthenticator testling("xmpp.example.com", "abcdefgh"); -			testling.setCredentials("user", "pass", "myauthzid"); -			testling.setChallenge(ByteArray( +			testling.setCredentials("user", createSafeByteArray("pass"), "myauthzid"); +			testling.setChallenge(createByteArray(  				"realm=\"example.com\","  				"nonce=\"O6skKPuaCZEny3hteI19qXMBXSadoWs840MchORo\","  				"qop=auth,charset=utf-8,algorithm=md5-sess")); -			ByteArray response = *testling.getResponse(); +			SafeByteArray response = *testling.getResponse(); -			CPPUNIT_ASSERT_EQUAL(std::string("authzid=\"myauthzid\",charset=utf-8,cnonce=\"abcdefgh\",digest-uri=\"xmpp/xmpp.example.com\",nc=00000001,nonce=\"O6skKPuaCZEny3hteI19qXMBXSadoWs840MchORo\",qop=auth,realm=\"example.com\",response=4293834432b6e7889a2dee7e8fe7dd06,username=\"user\""), response.toString()); +			CPPUNIT_ASSERT_EQUAL(createSafeByteArray("authzid=\"myauthzid\",charset=utf-8,cnonce=\"abcdefgh\",digest-uri=\"xmpp/xmpp.example.com\",nc=00000001,nonce=\"O6skKPuaCZEny3hteI19qXMBXSadoWs840MchORo\",qop=auth,realm=\"example.com\",response=4293834432b6e7889a2dee7e8fe7dd06,username=\"user\""), response);  		}  }; diff --git a/Swiften/SASL/UnitTest/DIGESTMD5PropertiesTest.cpp b/Swiften/SASL/UnitTest/DIGESTMD5PropertiesTest.cpp index 152a41e..d664f14 100644 --- a/Swiften/SASL/UnitTest/DIGESTMD5PropertiesTest.cpp +++ b/Swiften/SASL/UnitTest/DIGESTMD5PropertiesTest.cpp @@ -7,7 +7,7 @@  #include <cppunit/extensions/HelperMacros.h>  #include <cppunit/extensions/TestFactoryRegistry.h> -#include "Swiften/SASL/DIGESTMD5Properties.h" +#include <Swiften/SASL/DIGESTMD5Properties.h>  using namespace Swift; @@ -19,7 +19,7 @@ class DIGESTMD5PropertiesTest : public CppUnit::TestFixture {  	public:  		void testParse() { -			DIGESTMD5Properties properties = DIGESTMD5Properties::parse(ByteArray( +			DIGESTMD5Properties properties = DIGESTMD5Properties::parse(createByteArray(  					"realm=\"myrealm1\",realm=\"myrealm2\",nonce=\"mynonce\","  					"algorithm=md5-sess,charset=utf-8")); @@ -47,8 +47,8 @@ class DIGESTMD5PropertiesTest : public CppUnit::TestFixture {  			properties.setValue("username", "myuser");  			ByteArray result = properties.serialize(); -			ByteArray expected("authzid=\"myauthzid\",charset=utf-8,cnonce=\"mycnonce\",digest-uri=\"mydigesturi\",nc=1,nonce=\"mynonce\",qop=auth,realm=\"myrealm\",response=myresponse,username=\"myuser\""); -			CPPUNIT_ASSERT_EQUAL(expected.toString(), result.toString()); +			ByteArray expected(createByteArray("authzid=\"myauthzid\",charset=utf-8,cnonce=\"mycnonce\",digest-uri=\"mydigesturi\",nc=1,nonce=\"mynonce\",qop=auth,realm=\"myrealm\",response=myresponse,username=\"myuser\"")); +			CPPUNIT_ASSERT_EQUAL(byteArrayToString(expected), byteArrayToString(result));  		}  }; diff --git a/Swiften/SASL/UnitTest/PLAINClientAuthenticatorTest.cpp b/Swiften/SASL/UnitTest/PLAINClientAuthenticatorTest.cpp index 33914b2..3416923 100644 --- a/Swiften/SASL/UnitTest/PLAINClientAuthenticatorTest.cpp +++ b/Swiften/SASL/UnitTest/PLAINClientAuthenticatorTest.cpp @@ -4,8 +4,9 @@   * See Documentation/Licenses/GPLv3.txt for more information.   */ -#include "Swiften/SASL/PLAINClientAuthenticator.h" +#include <Swiften/SASL/PLAINClientAuthenticator.h> +#include <QA/Checker/IO.h>  #include <cppunit/extensions/HelperMacros.h>  #include <cppunit/extensions/TestFactoryRegistry.h> @@ -21,17 +22,17 @@ class PLAINClientAuthenticatorTest : public CppUnit::TestFixture {  		void testGetResponse_WithoutAuthzID() {  			PLAINClientAuthenticator testling; -			testling.setCredentials("user", "pass"); +			testling.setCredentials("user", createSafeByteArray("pass")); -			CPPUNIT_ASSERT_EQUAL(*testling.getResponse(), ByteArray("\0user\0pass", 10)); +			CPPUNIT_ASSERT_EQUAL(*testling.getResponse(), createSafeByteArray("\0user\0pass", 10));  		}  		void testGetResponse_WithAuthzID() {  			PLAINClientAuthenticator testling; -			testling.setCredentials("user", "pass", "authz"); +			testling.setCredentials("user", createSafeByteArray("pass"), "authz"); -			CPPUNIT_ASSERT_EQUAL(*testling.getResponse(), ByteArray("authz\0user\0pass", 15)); +			CPPUNIT_ASSERT_EQUAL(*testling.getResponse(), createSafeByteArray("authz\0user\0pass", 15));  		}  }; diff --git a/Swiften/SASL/UnitTest/PLAINMessageTest.cpp b/Swiften/SASL/UnitTest/PLAINMessageTest.cpp index d517f0d..e917af5 100644 --- a/Swiften/SASL/UnitTest/PLAINMessageTest.cpp +++ b/Swiften/SASL/UnitTest/PLAINMessageTest.cpp @@ -4,12 +4,13 @@   * See Documentation/Licenses/GPLv3.txt for more information.   */ -#include "Swiften/Base/ByteArray.h" +#include <Swiften/Base/ByteArray.h> +#include <QA/Checker/IO.h>  #include <cppunit/extensions/HelperMacros.h>  #include <cppunit/extensions/TestFactoryRegistry.h> -#include "Swiften/SASL/PLAINMessage.h" +#include <Swiften/SASL/PLAINMessage.h>  using namespace Swift; @@ -28,39 +29,39 @@ class PLAINMessageTest : public CppUnit::TestFixture  		PLAINMessageTest() {}  		void testGetValue_WithoutAuthzID() { -			PLAINMessage message("user", "pass"); -			CPPUNIT_ASSERT_EQUAL(message.getValue(), ByteArray("\0user\0pass", 10)); +			PLAINMessage message("user", createSafeByteArray("pass")); +			CPPUNIT_ASSERT_EQUAL(message.getValue(), createSafeByteArray("\0user\0pass", 10));  		}  		void testGetValue_WithAuthzID() { -			PLAINMessage message("user", "pass", "authz"); -			CPPUNIT_ASSERT_EQUAL(message.getValue(), ByteArray("authz\0user\0pass", 15)); +			PLAINMessage message("user", createSafeByteArray("pass"), "authz"); +			CPPUNIT_ASSERT_EQUAL(message.getValue(), createSafeByteArray("authz\0user\0pass", 15));  		}  		void testConstructor_WithoutAuthzID() { -			PLAINMessage message(ByteArray("\0user\0pass", 10)); +			PLAINMessage message(createSafeByteArray("\0user\0pass", 10));  			CPPUNIT_ASSERT_EQUAL(std::string(""), message.getAuthorizationID());  			CPPUNIT_ASSERT_EQUAL(std::string("user"), message.getAuthenticationID()); -			CPPUNIT_ASSERT_EQUAL(std::string("pass"), message.getPassword()); +			CPPUNIT_ASSERT_EQUAL(createSafeByteArray("pass"), message.getPassword());  		}  		void testConstructor_WithAuthzID() { -			PLAINMessage message(ByteArray("authz\0user\0pass", 15)); +			PLAINMessage message(createSafeByteArray("authz\0user\0pass", 15));  			CPPUNIT_ASSERT_EQUAL(std::string("authz"), message.getAuthorizationID());  			CPPUNIT_ASSERT_EQUAL(std::string("user"), message.getAuthenticationID()); -			CPPUNIT_ASSERT_EQUAL(std::string("pass"), message.getPassword()); +			CPPUNIT_ASSERT_EQUAL(createSafeByteArray("pass"), message.getPassword());  		}  		void testConstructor_NoAuthcid() { -			PLAINMessage message(ByteArray("authzid", 7)); +			PLAINMessage message(createSafeByteArray("authzid", 7));  			CPPUNIT_ASSERT_EQUAL(std::string(""), message.getAuthenticationID());  		}  		void testConstructor_NoPassword() { -			PLAINMessage message(ByteArray("authzid\0authcid", 15)); +			PLAINMessage message(createSafeByteArray("authzid\0authcid", 15));  			CPPUNIT_ASSERT_EQUAL(std::string(""), message.getAuthenticationID());  		} diff --git a/Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp b/Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp index 5d0edbd..f0ca01c 100644 --- a/Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp +++ b/Swiften/SASL/UnitTest/SCRAMSHA1ClientAuthenticatorTest.cpp @@ -4,11 +4,13 @@   * See Documentation/Licenses/GPLv3.txt for more information.   */ +#include <QA/Checker/IO.h> +  #include <cppunit/extensions/HelperMacros.h>  #include <cppunit/extensions/TestFactoryRegistry.h> -#include "Swiften/SASL/SCRAMSHA1ClientAuthenticator.h" -#include "Swiften/Base/ByteArray.h" +#include <Swiften/SASL/SCRAMSHA1ClientAuthenticator.h> +#include <Swiften/Base/ByteArray.h>  using namespace Swift; @@ -41,179 +43,179 @@ class SCRAMSHA1ClientAuthenticatorTest : public CppUnit::TestFixture {  		void testGetInitialResponse() {  			SCRAMSHA1ClientAuthenticator testling("abcdefghABCDEFGH"); -			testling.setCredentials("user", "pass", ""); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); -			ByteArray response = *testling.getResponse(); +			SafeByteArray response = *testling.getResponse(); -			CPPUNIT_ASSERT_EQUAL(std::string("n,,n=user,r=abcdefghABCDEFGH"), response.toString()); +			CPPUNIT_ASSERT_EQUAL(createSafeByteArray("n,,n=user,r=abcdefghABCDEFGH"), response);  		}  		void testGetInitialResponse_UsernameHasSpecialChars() {  			SCRAMSHA1ClientAuthenticator testling("abcdefghABCDEFGH"); -			testling.setCredentials(",us=,er=", "pass", ""); +			testling.setCredentials(",us=,er=", createSafeByteArray("pass"), ""); -			ByteArray response = *testling.getResponse(); +			SafeByteArray response = *testling.getResponse(); -			CPPUNIT_ASSERT_EQUAL(std::string("n,,n==2Cus=3D=2Cer=3D,r=abcdefghABCDEFGH"), response.toString()); +			CPPUNIT_ASSERT_EQUAL(createSafeByteArray("n,,n==2Cus=3D=2Cer=3D,r=abcdefghABCDEFGH"), response);  		}  		void testGetInitialResponse_WithAuthorizationID() {  			SCRAMSHA1ClientAuthenticator testling("abcdefghABCDEFGH"); -			testling.setCredentials("user", "pass", "auth"); +			testling.setCredentials("user", createSafeByteArray("pass"), "auth"); -			ByteArray response = *testling.getResponse(); +			SafeByteArray response = *testling.getResponse(); -			CPPUNIT_ASSERT_EQUAL(std::string("n,a=auth,n=user,r=abcdefghABCDEFGH"), response.toString()); +			CPPUNIT_ASSERT_EQUAL(createSafeByteArray("n,a=auth,n=user,r=abcdefghABCDEFGH"), response);  		}  		void testGetInitialResponse_WithAuthorizationIDWithSpecialChars() {  			SCRAMSHA1ClientAuthenticator testling("abcdefghABCDEFGH"); -			testling.setCredentials("user", "pass", "a=u,th"); +			testling.setCredentials("user", createSafeByteArray("pass"), "a=u,th"); -			ByteArray response = *testling.getResponse(); +			SafeByteArray response = *testling.getResponse(); -			CPPUNIT_ASSERT_EQUAL(std::string("n,a=a=3Du=2Cth,n=user,r=abcdefghABCDEFGH"), response.toString()); +			CPPUNIT_ASSERT_EQUAL(createSafeByteArray("n,a=a=3Du=2Cth,n=user,r=abcdefghABCDEFGH"), response);  		}  		void testGetInitialResponse_WithoutChannelBindingWithTLSChannelBindingData() {  			SCRAMSHA1ClientAuthenticator testling("abcdefghABCDEFGH", false); -			testling.setTLSChannelBindingData("xyza"); -			testling.setCredentials("user", "pass", ""); +			testling.setTLSChannelBindingData(createByteArray("xyza")); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); -			ByteArray response = *testling.getResponse(); +			SafeByteArray response = *testling.getResponse(); -			CPPUNIT_ASSERT_EQUAL(std::string("y,,n=user,r=abcdefghABCDEFGH"), response.toString()); +			CPPUNIT_ASSERT_EQUAL(createSafeByteArray("y,,n=user,r=abcdefghABCDEFGH"), response);  		}  		void testGetInitialResponse_WithChannelBindingWithTLSChannelBindingData() {  			SCRAMSHA1ClientAuthenticator testling("abcdefghABCDEFGH", true); -			testling.setTLSChannelBindingData("xyza"); -			testling.setCredentials("user", "pass", ""); +			testling.setTLSChannelBindingData(createByteArray("xyza")); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); -			ByteArray response = *testling.getResponse(); +			SafeByteArray response = *testling.getResponse(); -			CPPUNIT_ASSERT_EQUAL(std::string("p=tls-unique,,n=user,r=abcdefghABCDEFGH"), response.toString()); +			CPPUNIT_ASSERT_EQUAL(createSafeByteArray("p=tls-unique,,n=user,r=abcdefghABCDEFGH"), response);  		}  		void testGetFinalResponse() {  			SCRAMSHA1ClientAuthenticator testling("abcdefgh"); -			testling.setCredentials("user", "pass", ""); -			testling.setChallenge(ByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096")); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); +			testling.setChallenge(createByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096")); -			ByteArray response = *testling.getResponse(); +			SafeByteArray response = *testling.getResponse(); -			CPPUNIT_ASSERT_EQUAL(std::string("c=biws,r=abcdefghABCDEFGH,p=CZbjGDpIteIJwQNBgO0P8pKkMGY="), response.toString()); +			CPPUNIT_ASSERT_EQUAL(createSafeByteArray("c=biws,r=abcdefghABCDEFGH,p=CZbjGDpIteIJwQNBgO0P8pKkMGY="), response);  		}  		void testGetFinalResponse_WithoutChannelBindingWithTLSChannelBindingData() {  			SCRAMSHA1ClientAuthenticator testling("abcdefgh", false); -			testling.setCredentials("user", "pass", ""); -			testling.setTLSChannelBindingData("xyza"); -			testling.setChallenge(ByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096")); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); +			testling.setTLSChannelBindingData(createByteArray("xyza")); +			testling.setChallenge(createByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096")); -			ByteArray response = *testling.getResponse(); +			SafeByteArray response = *testling.getResponse(); -			CPPUNIT_ASSERT_EQUAL(std::string("c=eSws,r=abcdefghABCDEFGH,p=JNpsiFEcxZvNZ1+FFBBqrYvYxMk="), response.toString()); +			CPPUNIT_ASSERT_EQUAL(createSafeByteArray("c=eSws,r=abcdefghABCDEFGH,p=JNpsiFEcxZvNZ1+FFBBqrYvYxMk="), response);  		}  		void testGetFinalResponse_WithChannelBindingWithTLSChannelBindingData() {  			SCRAMSHA1ClientAuthenticator testling("abcdefgh", true); -			testling.setCredentials("user", "pass", ""); -			testling.setTLSChannelBindingData("xyza"); -			testling.setChallenge(ByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096")); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); +			testling.setTLSChannelBindingData(createByteArray("xyza")); +			testling.setChallenge(createByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096")); -			ByteArray response = *testling.getResponse(); +			SafeByteArray response = *testling.getResponse(); -			CPPUNIT_ASSERT_EQUAL(std::string("c=cD10bHMtdW5pcXVlLCx4eXph,r=abcdefghABCDEFGH,p=i6Rghite81P1ype8XxaVAa5l7v0="), response.toString()); +			CPPUNIT_ASSERT_EQUAL(createSafeByteArray("c=cD10bHMtdW5pcXVlLCx4eXph,r=abcdefghABCDEFGH,p=i6Rghite81P1ype8XxaVAa5l7v0="), response);  		}  		void testSetFinalChallenge() {  			SCRAMSHA1ClientAuthenticator testling("abcdefgh"); -			testling.setCredentials("user", "pass", ""); -			testling.setChallenge(ByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096")); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); +			testling.setChallenge(createByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096")); -			bool result = testling.setChallenge(ByteArray("v=Dd+Q20knZs9jeeK0pi1Mx1Se+yo=")); +			bool result = testling.setChallenge(createByteArray("v=Dd+Q20knZs9jeeK0pi1Mx1Se+yo="));  			CPPUNIT_ASSERT(result);  		}  		void testSetChallenge() {  			SCRAMSHA1ClientAuthenticator testling("abcdefgh"); -			testling.setCredentials("user", "pass", ""); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); -			bool result = testling.setChallenge(ByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096")); +			bool result = testling.setChallenge(createByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096"));  			CPPUNIT_ASSERT(result);  		}  		void testSetChallenge_InvalidClientNonce() {  			SCRAMSHA1ClientAuthenticator testling("abcdefgh"); -			testling.setCredentials("user", "pass", ""); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); -			bool result = testling.setChallenge(ByteArray("r=abcdefgiABCDEFGH,s=MTIzNDU2NzgK,i=4096")); +			bool result = testling.setChallenge(createByteArray("r=abcdefgiABCDEFGH,s=MTIzNDU2NzgK,i=4096"));  			CPPUNIT_ASSERT(!result);  		}  		void testSetChallenge_OnlyClientNonce() {  			SCRAMSHA1ClientAuthenticator testling("abcdefgh"); -			testling.setCredentials("user", "pass", ""); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); -			bool result = testling.setChallenge(ByteArray("r=abcdefgh,s=MTIzNDU2NzgK,i=4096")); +			bool result = testling.setChallenge(createByteArray("r=abcdefgh,s=MTIzNDU2NzgK,i=4096"));  			CPPUNIT_ASSERT(!result);  		}  		void testSetChallenge_InvalidIterations() {  			SCRAMSHA1ClientAuthenticator testling("abcdefgh"); -			testling.setCredentials("user", "pass", ""); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); -			bool result = testling.setChallenge(ByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=bla")); +			bool result = testling.setChallenge(createByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=bla"));  			CPPUNIT_ASSERT(!result);  		}  		void testSetChallenge_MissingIterations() {  			SCRAMSHA1ClientAuthenticator testling("abcdefgh"); -			testling.setCredentials("user", "pass", ""); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); -			bool result = testling.setChallenge(ByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK")); +			bool result = testling.setChallenge(createByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK"));  			CPPUNIT_ASSERT(!result);  		}  		void testSetChallenge_ZeroIterations() {  			SCRAMSHA1ClientAuthenticator testling("abcdefgh"); -			testling.setCredentials("user", "pass", ""); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); -			bool result = testling.setChallenge(ByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=0")); +			bool result = testling.setChallenge(createByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=0"));  			CPPUNIT_ASSERT(!result);  		}  		void testSetChallenge_NegativeIterations() {  			SCRAMSHA1ClientAuthenticator testling("abcdefgh"); -			testling.setCredentials("user", "pass", ""); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); -			bool result = testling.setChallenge(ByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=-1")); +			bool result = testling.setChallenge(createByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=-1"));  			CPPUNIT_ASSERT(!result);  		}  		void testSetFinalChallenge_InvalidChallenge() {  			SCRAMSHA1ClientAuthenticator testling("abcdefgh"); -			testling.setCredentials("user", "pass", ""); -			testling.setChallenge(ByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096")); -			bool result = testling.setChallenge(ByteArray("v=e26kI69ICb6zosapLLxrER/631A=")); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); +			testling.setChallenge(createByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096")); +			bool result = testling.setChallenge(createByteArray("v=e26kI69ICb6zosapLLxrER/631A="));  			CPPUNIT_ASSERT(!result);  		}  		void testGetResponseAfterFinalChallenge() {  			SCRAMSHA1ClientAuthenticator testling("abcdefgh"); -			testling.setCredentials("user", "pass", ""); -			testling.setChallenge(ByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096")); -			testling.setChallenge(ByteArray("v=Dd+Q20knZs9jeeK0pi1Mx1Se+yo=")); +			testling.setCredentials("user", createSafeByteArray("pass"), ""); +			testling.setChallenge(createByteArray("r=abcdefghABCDEFGH,s=MTIzNDU2NzgK,i=4096")); +			testling.setChallenge(createByteArray("v=Dd+Q20knZs9jeeK0pi1Mx1Se+yo="));  			CPPUNIT_ASSERT(!testling.getResponse());  		}  | 
 Swift