Browse code
refactor fake pam/conversation
Showing 1 changed files
... | ... |
@@ -28,19 +28,21 @@ class fake_pam_conversation : public pam_conversation { |
28 | 28 |
|
29 | 29 |
class fake_pam : public pam { |
30 | 30 |
private: |
31 |
- std::string answer_; |
|
31 |
+ std::shared_ptr<pam_conversation> conversation_; |
|
32 | 32 |
public: |
33 |
- fake_pam(const std::string &answer) : answer_(answer) {} |
|
33 |
+ fake_pam(std::shared_ptr<pam_conversation> conversation) : conversation_(conversation) {} |
|
34 | 34 |
int get_conversation(pam_handle_t *pamh, std::shared_ptr<pam_conversation> &conversation) { |
35 |
- conversation.reset(new fake_pam_conversation(answer_)); |
|
35 |
+ conversation = conversation_; |
|
36 | 36 |
return 0; |
37 | 37 |
} |
38 | 38 |
}; |
39 | 39 |
|
40 |
+ |
|
40 | 41 |
int returns_correct_token() { |
41 | 42 |
//given |
42 | 43 |
pam_handle_t *pamh; |
43 |
- pam_p pam = (pam_p)new fake_pam("user:code"); |
|
44 |
+ pam_conversation_p fake_conversation = (pam_conversation_p) new fake_pam_conversation("user:code"); |
|
45 |
+ pam_p pam = (pam_p)new fake_pam(fake_conversation); |
|
44 | 46 |
|
45 | 47 |
//when |
46 | 48 |
pam_token_conversation conversation(pamh, pam); |
... | ... |
@@ -53,7 +55,9 @@ int returns_correct_token() { |
53 | 55 |
int returns_correct_user_name() { |
54 | 56 |
//given |
55 | 57 |
pam_handle_t *pamh; |
56 |
- pam_p pam = (pam_p)new fake_pam("sally:token"); |
|
58 |
+ pam_conversation_p fake_conversation = (pam_conversation_p) new fake_pam_conversation("sally:token"); |
|
59 |
+ pam_p pam = (pam_p)new fake_pam(fake_conversation); |
|
60 |
+ |
|
57 | 61 |
|
58 | 62 |
//when |
59 | 63 |
pam_token_conversation conversation(pamh, pam); |
... | ... |
@@ -66,7 +70,8 @@ int returns_correct_user_name() { |
66 | 70 |
int returns_empty_user_and_token_when_no_colon() { |
67 | 71 |
//given |
68 | 72 |
pam_handle_t *pamh; |
69 |
- pam_p pam = (pam_p)new fake_pam("sally"); |
|
73 |
+ pam_conversation_p fake_conversation = (pam_conversation_p) new fake_pam_conversation("sally"); |
|
74 |
+ pam_p pam = (pam_p)new fake_pam(fake_conversation); |
|
70 | 75 |
|
71 | 76 |
//when |
72 | 77 |
pam_token_conversation conversation(pamh, pam); |
... | ... |
@@ -80,7 +85,8 @@ int returns_empty_user_and_token_when_no_colon() { |
80 | 85 |
int returns_empty_user_and_token_when_empty_answer() { |
81 | 86 |
//given |
82 | 87 |
pam_handle_t *pamh; |
83 |
- pam_p pam = (pam_p)new fake_pam(""); |
|
88 |
+ pam_conversation_p fake_conversation = (pam_conversation_p) new fake_pam_conversation(""); |
|
89 |
+ pam_p pam = (pam_p)new fake_pam(fake_conversation); |
|
84 | 90 |
|
85 | 91 |
//when |
86 | 92 |
pam_token_conversation conversation(pamh, pam); |
... | ... |
@@ -94,7 +100,8 @@ int returns_empty_user_and_token_when_empty_answer() { |
94 | 100 |
int returns_empty_token_when_colon_end() { |
95 | 101 |
//given |
96 | 102 |
pam_handle_t *pamh; |
97 |
- pam_p pam = (pam_p)new fake_pam("sally:"); |
|
103 |
+ pam_conversation_p fake_conversation = (pam_conversation_p) new fake_pam_conversation("sally:"); |
|
104 |
+ pam_p pam = (pam_p)new fake_pam(fake_conversation); |
|
98 | 105 |
|
99 | 106 |
//when |
100 | 107 |
pam_token_conversation conversation(pamh, pam); |
... | ... |
@@ -108,7 +115,8 @@ int returns_empty_token_when_colon_end() { |
108 | 115 |
int returns_empty_user_when_colon_begin() { |
109 | 116 |
//given |
110 | 117 |
pam_handle_t *pamh; |
111 |
- pam_p pam = (pam_p)new fake_pam(":token"); |
|
118 |
+ pam_conversation_p fake_conversation = (pam_conversation_p) new fake_pam_conversation(":token"); |
|
119 |
+ pam_p pam = (pam_p)new fake_pam(fake_conversation); |
|
112 | 120 |
|
113 | 121 |
//when |
114 | 122 |
pam_token_conversation conversation(pamh, pam); |