Browse code
Fix installer_test for totp_generator interface
Ed Langley authored on 30/05/2017 21:19:48
Showing 1 changed files
Showing 1 changed files
... | ... |
@@ -53,10 +53,17 @@ public: |
53 | 53 |
|
54 | 54 |
class fake_totp_generator : public token_generator_ifc |
55 | 55 |
{ |
56 |
- public: |
|
57 |
- std::string generate_token() { |
|
58 |
- return "000000"; |
|
59 |
- } |
|
56 |
+private: |
|
57 |
+ std::string expected_token; |
|
58 |
+public: |
|
59 |
+ fake_totp_generator (const std::string expected_token = "000000"): |
|
60 |
+ expected_token (expected_token) |
|
61 |
+ {} |
|
62 |
+ |
|
63 |
+ std::string generate_token() const override |
|
64 |
+ { |
|
65 |
+ return expected_token; |
|
66 |
+ } |
|
60 | 67 |
}; |
61 | 68 |
|
62 | 69 |
class fake_directory : public directory_ifc |
... | ... |
@@ -90,9 +97,12 @@ int installs_token() |
90 | 97 |
tokens tokens{test_tokens}; |
91 | 98 |
unistd unistd (std::make_shared<fake_unistd> (user_name)); |
92 | 99 |
directory directory (std::make_shared<fake_directory> (user_name)); |
93 |
- totp_generator *generator = new totp_generator(std::make_shared<fake_totp_generator>()); |
|
100 |
+ std::shared_ptr<fake_totp_generator> fake_generator = |
|
101 |
+ std::make_shared<fake_totp_generator> (token); |
|
102 |
+ auto generator = std::make_shared<totp_generator> (fake_generator); |
|
94 | 103 |
|
95 |
- installer installer = installer::create (tokens, unistd, directory, std::shared_ptr<totp_generator> (generator)); |
|
104 |
+ installer installer = installer::create (tokens, unistd, directory, |
|
105 |
+ generator); |
|
96 | 106 |
|
97 | 107 |
//when |
98 | 108 |
std::string result = installer.install_token(); |
... | ... |
@@ -112,9 +122,11 @@ int unistd_does_not_find_user_name_nullptr_case() |
112 | 122 |
tokens tokens{test_tokens}; |
113 | 123 |
unistd unistd (std::make_shared<fail_unistd>()); |
114 | 124 |
directory directory (std::make_shared<fake_directory> (user_name)); |
115 |
- auto generator = std::shared_ptr<totp_generator>(new totp_generator(std::make_shared<fake_totp_generator>())); |
|
125 |
+ auto generator = std::make_shared<totp_generator> |
|
126 |
+ (std::make_shared<fake_totp_generator>()); |
|
116 | 127 |
|
117 |
- installer installer = installer::create (tokens, unistd, directory, generator); |
|
128 |
+ installer installer = installer::create (tokens, unistd, directory, |
|
129 |
+ generator); |
|
118 | 130 |
|
119 | 131 |
//when |
120 | 132 |
auto returned = installer.install_token(); |
... | ... |
@@ -135,9 +147,11 @@ int unistd_does_not_find_user_name_empty_string_case() |
135 | 147 |
tokens tokens{test_tokens}; |
136 | 148 |
unistd unistd (std::make_shared<fake_unistd> ("")); |
137 | 149 |
directory directory (std::make_shared<fake_directory> (user_name)); |
138 |
- auto generator = std::shared_ptr<totp_generator>(new totp_generator(std::make_shared<fake_totp_generator>())); |
|
150 |
+ auto generator = std::shared_ptr<totp_generator> (new totp_generator ( |
|
151 |
+ std::make_shared<fake_totp_generator>())); |
|
139 | 152 |
|
140 |
- installer installer = installer::create (tokens, unistd, directory, generator); |
|
153 |
+ installer installer = installer::create (tokens, unistd, directory, |
|
154 |
+ generator); |
|
141 | 155 |
|
142 | 156 |
//when |
143 | 157 |
auto returned = installer.install_token(); |
... | ... |
@@ -157,9 +171,11 @@ int directory_finds_no_user_info() |
157 | 171 |
tokens tokens{test_tokens}; |
158 | 172 |
unistd unistd (std::make_shared<fake_unistd> (user_name)); |
159 | 173 |
directory directory (std::make_shared<fake_directory> ("not the user")); |
160 |
- auto generator = std::shared_ptr<totp_generator>(new totp_generator(std::make_shared<fake_totp_generator>())); |
|
174 |
+ auto generator = std::shared_ptr<totp_generator> (new totp_generator ( |
|
175 |
+ std::make_shared<fake_totp_generator>())); |
|
161 | 176 |
|
162 |
- installer installer = installer::create (tokens, unistd, directory, generator); |
|
177 |
+ installer installer = installer::create (tokens, unistd, directory, |
|
178 |
+ generator); |
|
163 | 179 |
|
164 | 180 |
//when |
165 | 181 |
auto returned = installer.install_token(); |