unittest_decrypt_password.cpp
Go to the documentation of this file.
1 // Copyright (c) 2020 Pilz GmbH & Co. KG
2 //
3 // This program is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU Lesser General Public License as published by
5 // the Free Software Foundation, either version 3 of the License, or
6 // (at your option) any later version.
7 //
8 // This program is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 // GNU Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public License
14 // along with this program. If not, see <https://www.gnu.org/licenses/>.
15 
16 #include <gtest/gtest.h>
17 
20 
21 using namespace psen_scan;
22 
23 namespace psen_scan_test
24 {
25 TEST(decryptPasswordTest, charOutOfRange)
26 {
27  EXPECT_THROW(RosParameterHandler::decryptPassword("AABBCCDDEEFFGG"), DecryptPasswordException);
28  EXPECT_THROW(RosParameterHandler::decryptPassword("GGAABBCCDDEEFF"), DecryptPasswordException);
29  EXPECT_THROW(RosParameterHandler::decryptPassword("AABBCGGCDDEEFF"), DecryptPasswordException);
30  EXPECT_THROW(RosParameterHandler::decryptPassword("AABBGACCDDEEFF"), DecryptPasswordException);
31 
32  EXPECT_THROW(RosParameterHandler::decryptPassword("AABBCCDDEEFF@@"), DecryptPasswordException);
33  EXPECT_THROW(RosParameterHandler::decryptPassword("@@AABBCCDDEEFF"), DecryptPasswordException);
34  EXPECT_THROW(RosParameterHandler::decryptPassword("AABBCCDDEEFF@@"), DecryptPasswordException);
35  EXPECT_THROW(RosParameterHandler::decryptPassword("A@@ABBCCDDEEFF"), DecryptPasswordException);
36  EXPECT_THROW(RosParameterHandler::decryptPassword("AA@ABBCCDDEEFF"), DecryptPasswordException);
37 
38  EXPECT_THROW(RosParameterHandler::decryptPassword("aabbccddeeffgg"), DecryptPasswordException);
39  EXPECT_THROW(RosParameterHandler::decryptPassword("ggaabbccddeeff"), DecryptPasswordException);
40  EXPECT_THROW(RosParameterHandler::decryptPassword("``aabbccddeeff"), DecryptPasswordException);
41  EXPECT_THROW(RosParameterHandler::decryptPassword("aabbccddeeff``"), DecryptPasswordException);
42 
43  EXPECT_THROW(RosParameterHandler::decryptPassword("//345678901234"), DecryptPasswordException);
44  EXPECT_THROW(RosParameterHandler::decryptPassword("345678901234::"), DecryptPasswordException);
45 }
46 
47 TEST(decryptPasswordTest, unevenCharacterCount)
48 {
53  EXPECT_NO_THROW(RosParameterHandler::decryptPassword("ac0d68d033"));
54  EXPECT_NO_THROW(RosParameterHandler::decryptPassword("ac0d6 8d033"));
55 }
56 
57 TEST(decryptPasswordTest, controlCharactersBelow32)
58 {
59  EXPECT_THROW(RosParameterHandler::decryptPassword("CD3195"), DecryptPasswordException); //"\0\0\0"
60  EXPECT_THROW(RosParameterHandler::decryptPassword("AA3111"), DecryptPasswordException); // In der Mitte "\0"
61  EXPECT_THROW(RosParameterHandler::decryptPassword("c4fd50ca29"),
62  DecryptPasswordException); // Tab am Anfang "\TABTEST"
63  EXPECT_THROW(RosParameterHandler::decryptPassword("99ec8cca29"),
64  DecryptPasswordException); // Tab in der Mitte "TE\TABST"
65  EXPECT_THROW(RosParameterHandler::decryptPassword("99ec66c554"),
66  DecryptPasswordException); // Tab am Ende "TEST\TAB)"
67  EXPECT_THROW(RosParameterHandler::decryptPassword("d2fd50ca29"),
68  DecryptPasswordException); // \31 am Anfang "\31TEST"
69  EXPECT_THROW(RosParameterHandler::decryptPassword("99ec9Aca29"),
70  DecryptPasswordException); // \31 in der Mitte "TE\31ST"
71  EXPECT_THROW(RosParameterHandler::decryptPassword("99ec66c562"), DecryptPasswordException); // Tab am Ende "TEST/31"
72 }
73 
74 TEST(decryptPasswordTest, correctDecryption)
75 {
76  EXPECT_EQ(RosParameterHandler::decryptPassword("8e0987d04eadfc68c380e74a"), "Christian123");
77  EXPECT_EQ(RosParameterHandler::decryptPassword("8a0880ea38b115640c70d438"), "Giuseppe!!!!");
78  EXPECT_EQ(RosParameterHandler::decryptPassword("9e1086da35a04aae1276da3e"), "Sascha??????");
79 
80  EXPECT_EQ(RosParameterHandler::decryptPassword("8a0880ea38b1 15640c70d438"), "Giuseppe!!!!");
81  EXPECT_EQ(RosParameterHandler::decryptPassword("8a0880ea38b11 5640c70d438"), "Giuseppe!!!!");
82 
83  EXPECT_EQ(RosParameterHandler::decryptPassword("8a0880ea38b115640c70d438 "), "Giuseppe!!!!");
84  EXPECT_EQ(RosParameterHandler::decryptPassword(" 8a0880ea38b115640c70d438"), "Giuseppe!!!!");
85 
86  EXPECT_EQ(RosParameterHandler::decryptPassword(" 8 a0880e a38b115 640c7 0d4 38 "), "Giuseppe!!!!");
87 }
88 } // namespace psen_scan_test
static std::string decryptPassword(const std::string &encrypted_password)
Decrypt password.
TEST(decryptPasswordTest, correctDecryption)


psen_scan
Author(s):
autogenerated on Mon Feb 28 2022 23:16:20