From d65e32d53a1b7a8ca4f3ebbf6beb48b6d31ad152 Mon Sep 17 00:00:00 2001 From: Arnaud Bienner Date: Thu, 1 Sep 2011 23:46:56 +0200 Subject: [PATCH] Add test for Hmac functions --- tests/CMakeLists.txt | 1 + tests/utilities_test.cpp | 43 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 tests/utilities_test.cpp diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 1391b4f26..871bdfb32 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -130,6 +130,7 @@ add_test_file(songloader_test.cpp false) add_test_file(songplaylistitem_test.cpp false) add_test_file(song_test.cpp false) add_test_file(translations_test.cpp false) +add_test_file(utilities_test.cpp false) add_test_file(xspfparser_test.cpp false) if(LINUX AND HAVE_DBUS) diff --git a/tests/utilities_test.cpp b/tests/utilities_test.cpp new file mode 100644 index 000000000..f48bae4bc --- /dev/null +++ b/tests/utilities_test.cpp @@ -0,0 +1,43 @@ + +/* This file is part of Clementine. + Copyright 2010, David Sansome + + Clementine is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Clementine is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Clementine. If not, see . +*/ + +#include "test_utils.h" +#include "gtest/gtest.h" + +#include "core/utilities.h" + +#include + +#include + +class UtilitiesTest : public ::testing::Test { +}; + + +TEST_F(UtilitiesTest, HmacFunctions) { + QString key("key"); + QString data("The quick brown fox jumps over the lazy dog"); + // Test Hmac Md5 + QByteArray result_hash_md5 = Utilities::HmacMd5(key.toLocal8Bit(), data.toLocal8Bit()).toHex(); + bool result_md5 = result_hash_md5 == QString("80070713463e7749b90c2dc24911e275"); + EXPECT_TRUE(result_md5); + // Test Hmac Sha256 + QByteArray result_hash_sha256 = Utilities::HmacSha256(key.toLocal8Bit(), data.toLocal8Bit()).toHex(); + bool result_sha256 = result_hash_sha256 == QString("f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8"); + EXPECT_TRUE(result_sha256); +}