test
unit_tests
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
18
#include <
psen_scan/ros_parameter_handler.h
>
19
#include <
psen_scan/decrypt_password_exception.h
>
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
{
49
EXPECT_THROW(
RosParameterHandler::decryptPassword
(
"ac0d8d033"
),
DecryptPasswordException
);
50
EXPECT_THROW(
RosParameterHandler::decryptPassword
(
"aC068d033"
),
DecryptPasswordException
);
51
EXPECT_THROW(
RosParameterHandler::decryptPassword
(
"aC0d68D03"
),
DecryptPasswordException
);
52
EXPECT_THROW(
RosParameterHandler::decryptPassword
(
"ac0d6 8d03"
),
DecryptPasswordException
);
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
decrypt_password_exception.h
ros_parameter_handler.h
psen_scan::RosParameterHandler::decryptPassword
static std::string decryptPassword(const std::string &encrypted_password)
Decrypt password.
Definition:
ros_parameter_handler.cpp:367
psen_scan_test::TEST
TEST(decryptPasswordTest, correctDecryption)
Definition:
unittest_decrypt_password.cpp:74
psen_scan
Definition:
build_ros_message_exception.h:21
psen_scan_test
Definition:
mock_psen_scan_udp_interface.h:25
psen_scan::DecryptPasswordException
Definition:
decrypt_password_exception.h:23
psen_scan
Author(s):
autogenerated on Mon Feb 28 2022 23:16:20