@@ -26,59 +26,111 @@ def _set_extract_all_zip(self, files_to_create):
2626
2727 def test_playbook_downloader_zip_file_one_yaml (self ):
2828 self .zip_service .extract_all = lambda zip_file_name : self ._set_extract_all_zip (["lie.yaml" ])
29- auth = HttpAuth ("user" , "pass" )
29+ auth = HttpAuth ("user" , "pass" , "token" )
3030 self .reqeust .url = "blabla/lie.zip"
3131 dic = dict ([('content-disposition' , 'lie.zip' )])
3232 self .reqeust .headers = dic
3333 self .reqeust .iter_content .return_value = ''
3434 self .http_request_serivce .get_response = Mock (return_value = self .reqeust )
35+ self .http_request_serivce .get_response_with_headers = Mock (return_value = self .reqeust )
36+ self .playbook_downloader ._is_response_valid = Mock (return_value = True )
37+
3538 file_name = self .playbook_downloader .get ("" , auth , self .logger , Mock ())
3639 self .assertEquals (file_name , "lie.yaml" )
3740
3841
3942 def test_playbook_downloader_zip_file_two_yaml_correct (self ):
4043 self .zip_service .extract_all = lambda zip_file_name : self ._set_extract_all_zip (["lie.yaml" , "site.yaml" ])
41- auth = HttpAuth ("user" , "pass" )
44+ auth = HttpAuth ("user" , "pass" , "token" )
4245 self .reqeust .url = "blabla/lie.zip"
4346 dic = dict ([('content-disposition' , 'lie.zip' )])
4447 self .reqeust .headers = dic
4548 self .reqeust .iter_content .return_value = ''
4649 self .http_request_serivce .get_response = Mock (return_value = self .reqeust )
50+ self .http_request_serivce .get_response_with_headers = Mock (return_value = self .reqeust )
51+ self .playbook_downloader ._is_response_valid = Mock (return_value = True )
52+
4753 file_name = self .playbook_downloader .get ("" , auth , self .logger , Mock ())
54+
4855 self .assertEquals (file_name , "site.yaml" )
4956
5057 def test_playbook_downloader_zip_file_two_yaml_incorrect (self ):
5158 self .zip_service .extract_all = lambda zip_file_name : self ._set_extract_all_zip (["lie.yaml" , "lie2.yaml" ])
52- auth = HttpAuth ("user" , "pass" )
59+ auth = HttpAuth ("user" , "pass" , "token" )
5360 self .reqeust .url = "blabla/lie.zip"
5461 dic = dict ([('content-disposition' , 'lie.zip' )])
5562 self .reqeust .headers = dic
5663 self .reqeust .iter_content .return_value = ''
5764 self .http_request_serivce .get_response = Mock (return_value = self .reqeust )
65+ self .http_request_serivce .get_response_with_headers = Mock (return_value = self .reqeust )
66+ self .playbook_downloader ._is_response_valid = Mock (return_value = True )
5867 with self .assertRaises (Exception ) as e :
5968 self .playbook_downloader .get ("" , auth , self .logger , Mock ())
6069 self .assertEqual (e .exception .message ,"Playbook file name was not found in zip file" )
6170
6271 def test_playbook_downloader_with_one_yaml (self ):
63- auth = HttpAuth ("user" , "pass" )
72+ auth = HttpAuth ("user" , "pass" , "token" )
6473 self .reqeust .url = "blabla/lie.yaml"
6574 dic = dict ([('content-disposition' , 'lie.yaml' )])
6675 self .reqeust .headers = dic
6776 self .reqeust .iter_content .return_value = 'hello'
6877 self .http_request_serivce .get_response = Mock (return_value = self .reqeust )
78+ self .http_request_serivce .get_response_with_headers = Mock (return_value = self .reqeust )
79+ self .playbook_downloader ._is_response_valid = Mock (return_value = True )
6980
7081 file_name = self .playbook_downloader .get ("" , auth , self .logger , Mock ())
7182
7283 self .assertEquals (file_name , "lie.yaml" )
7384
7485 def test_playbook_downloader_no_parsing_from_rfc (self ):
75- auth = HttpAuth ("user" , "pass" )
86+ auth = HttpAuth ("user" , "pass" , "token" )
7687 self .reqeust .url = "blabla/lie.yaml"
7788 dic = dict ([('content-disposition' , 'lie.yaml' )])
7889 self .reqeust .headers = dic
7990 self .reqeust .iter_content .return_value = ''
8091 self .http_request_serivce .get_response = Mock (return_value = self .reqeust )
92+ self .http_request_serivce .get_response_with_headers = Mock (return_value = self .reqeust )
93+ self .playbook_downloader ._is_response_valid = Mock (return_value = True )
94+
95+ file_name = self .playbook_downloader .get ("" , auth , self .logger , Mock ())
96+
97+ self .assertEquals (file_name , "lie.yaml" )
98+
99+ def test_playbook_downloader_with_one_yaml_only_credentials (self ):
100+ auth = HttpAuth ("user" , "pass" , None )
101+ self .reqeust .url = "blabla/lie.yaml"
102+ dic = dict ([('content-disposition' , 'lie.yaml' )])
103+ self .reqeust .headers = dic
104+ self .reqeust .iter_content .return_value = 'hello'
105+ self .http_request_serivce .get_response = Mock (return_value = self .reqeust )
106+ self .http_request_serivce .get_response_with_headers = Mock (return_value = self .reqeust )
107+ self .playbook_downloader ._is_response_valid = Mock (side_effect = self .mock_response_valid_for_credentials )
81108
82109 file_name = self .playbook_downloader .get ("" , auth , self .logger , Mock ())
83110
84111 self .assertEquals (file_name , "lie.yaml" )
112+
113+ def test_playbook_downloader_with_one_yaml_only_token (self ):
114+ auth = HttpAuth (None , None , "Token" )
115+ self .reqeust .url = "blabla/lie.yaml"
116+ dic = dict ([('content-disposition' , 'lie.yaml' )])
117+ self .reqeust .headers = dic
118+ self .reqeust .iter_content .return_value = 'hello'
119+ self .http_request_serivce .get_response = Mock (return_value = self .reqeust )
120+ self .http_request_serivce .get_response_with_headers = Mock (return_value = self .reqeust )
121+ self .playbook_downloader ._is_response_valid = Mock (side_effect = self .mock_response_valid_for_not_public )
122+
123+ file_name = self .playbook_downloader .get ("" , auth , self .logger , Mock ())
124+
125+ self .assertEquals (file_name , "lie.yaml" )
126+
127+
128+
129+
130+ # helpers method to mock the request according the request in order to test the right flow for Token\Cred
131+ def mock_response_valid_for_not_public (self , logger , response , request_method ):
132+ return request_method != "public"
133+
134+
135+ def mock_response_valid_for_credentials (self , logger , response , request_method ):
136+ return request_method == "username\password"
0 commit comments