def _upload(self, full_results): h = self.host if not self.args.test_results_server: return 0 url, content_type, data = json_results.make_upload_request( self.args.test_results_server, self.args.builder_name, self.args.master_name, self.args.test_type, full_results) try: h.fetch(url, data, {'Content-Type': content_type}) return 0 except Exception as e: h.print_('Uploading the JSON results raised "%s"' % str(e)) return 1
def test_basic_upload(self): results = json_results.ResultSet() full_results = json_results.make_full_results({}, 0, [], results) url, content_type, data = json_results.make_upload_request( 'localhost', 'fake_builder_name', 'fake_master', 'fake_test_type', full_results) self.assertEqual( content_type, 'multipart/form-data; ' 'boundary=-J-S-O-N-R-E-S-U-L-T-S---B-O-U-N-D-A-R-Y-') self.assertEqual(url, 'https://localhost/testfile/upload') self.assertMultiLineEqual( data, ('---J-S-O-N-R-E-S-U-L-T-S---B-O-U-N-D-A-R-Y-\r\n' 'Content-Disposition: form-data; name="builder"\r\n' '\r\n' 'fake_builder_name\r\n' '---J-S-O-N-R-E-S-U-L-T-S---B-O-U-N-D-A-R-Y-\r\n' 'Content-Disposition: form-data; name="master"\r\n' '\r\n' 'fake_master\r\n' '---J-S-O-N-R-E-S-U-L-T-S---B-O-U-N-D-A-R-Y-\r\n' 'Content-Disposition: form-data; name="testtype"\r\n' '\r\n' 'fake_test_type\r\n' '---J-S-O-N-R-E-S-U-L-T-S---B-O-U-N-D-A-R-Y-\r\n' 'Content-Disposition: form-data; name="file"; ' 'filename="full_results.json"\r\n' 'Content-Type: application/json\r\n' '\r\n' '{"version": 3, "interrupted": false, "path_delimiter": ".", ' '"seconds_since_epoch": 0, ' '"num_failures_by_type": {"FAIL": 0, "TIMEOUT": 0, "CRASH": 0,' ' "PASS": 0, "SKIP": 0}, ' '"num_regressions": 0, ' '"tests": {}}\r\n' '---J-S-O-N-R-E-S-U-L-T-S---B-O-U-N-D-A-R-Y---\r\n'))
def test_basic_upload(self): results = json_results.ResultSet() full_results = json_results.make_full_results({}, 0, [], results) url, content_type, data = json_results.make_upload_request( 'localhost', 'fake_builder_name', 'fake_master', 'fake_test_type', full_results) self.assertEqual( content_type, 'multipart/form-data; ' 'boundary=-J-S-O-N-R-E-S-U-L-T-S---B-O-U-N-D-A-R-Y-') self.assertEqual(url, 'https://localhost/testfile/upload') self.assertMultiLineEqual( data, ('---J-S-O-N-R-E-S-U-L-T-S---B-O-U-N-D-A-R-Y-\r\n' 'Content-Disposition: form-data; name="builder"\r\n' '\r\n' 'fake_builder_name\r\n' '---J-S-O-N-R-E-S-U-L-T-S---B-O-U-N-D-A-R-Y-\r\n' 'Content-Disposition: form-data; name="master"\r\n' '\r\n' 'fake_master\r\n' '---J-S-O-N-R-E-S-U-L-T-S---B-O-U-N-D-A-R-Y-\r\n' 'Content-Disposition: form-data; name="testtype"\r\n' '\r\n' 'fake_test_type\r\n' '---J-S-O-N-R-E-S-U-L-T-S---B-O-U-N-D-A-R-Y-\r\n' 'Content-Disposition: form-data; name="file"; ' 'filename="full_results.json"\r\n' 'Content-Type: application/json\r\n' '\r\n' '{"version": 3, "interrupted": false, "path_delimiter": ".", ' '"seconds_since_epoch": 0, ' '"num_failures_by_type": {"FAIL": 0, "PASS": 0, "SKIP": 0}, ' '"num_regressions": 0, ' '"tests": {}}\r\n' '---J-S-O-N-R-E-S-U-L-T-S---B-O-U-N-D-A-R-Y---\r\n'))