Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(677)

Side by Side Diff: sync/tools/testserver/sync_testserver.py

Issue 780363003: Delete deprecated synced notifications code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More cleanup Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « sync/tools/testserver/chromiumsync.py ('k') | sync/tools/testserver/synced_notifications.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2013 The Chromium Authors. All rights reserved. 2 # Copyright 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """This is a python sync server used for testing Chrome Sync. 6 """This is a python sync server used for testing Chrome Sync.
7 7
8 By default, it listens on an ephemeral port and xmpp_port and sends the port 8 By default, it listens on an ephemeral port and xmpp_port and sends the port
9 numbers back to the originating process over a pipe. The originating process can 9 numbers back to the originating process over a pipe. The originating process can
10 specify an explicit port and xmpp_port if necessary. 10 specify an explicit port and xmpp_port if necessary.
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 self.ChromiumSyncTransientErrorOpHandler, 147 self.ChromiumSyncTransientErrorOpHandler,
148 self.ChromiumSyncErrorOpHandler, 148 self.ChromiumSyncErrorOpHandler,
149 self.ChromiumSyncSyncTabFaviconsOpHandler, 149 self.ChromiumSyncSyncTabFaviconsOpHandler,
150 self.ChromiumSyncCreateSyncedBookmarksOpHandler, 150 self.ChromiumSyncCreateSyncedBookmarksOpHandler,
151 self.ChromiumSyncEnableKeystoreEncryptionOpHandler, 151 self.ChromiumSyncEnableKeystoreEncryptionOpHandler,
152 self.ChromiumSyncRotateKeystoreKeysOpHandler, 152 self.ChromiumSyncRotateKeystoreKeysOpHandler,
153 self.ChromiumSyncEnableManagedUserAcknowledgementHandler, 153 self.ChromiumSyncEnableManagedUserAcknowledgementHandler,
154 self.ChromiumSyncEnablePreCommitGetUpdateAvoidanceHandler, 154 self.ChromiumSyncEnablePreCommitGetUpdateAvoidanceHandler,
155 self.GaiaOAuth2TokenHandler, 155 self.GaiaOAuth2TokenHandler,
156 self.GaiaSetOAuth2TokenResponseHandler, 156 self.GaiaSetOAuth2TokenResponseHandler,
157 self.TriggerSyncedNotificationHandler,
158 self.SyncedNotificationsPageHandler,
159 self.TriggerSyncedNotificationAppInfoHandler,
160 self.SyncedNotificationsAppInfoPageHandler,
161 self.CustomizeClientCommandHandler] 157 self.CustomizeClientCommandHandler]
162 158
163 post_handlers = [self.ChromiumSyncCommandHandler, 159 post_handlers = [self.ChromiumSyncCommandHandler,
164 self.ChromiumSyncTimeHandler, 160 self.ChromiumSyncTimeHandler,
165 self.GaiaOAuth2TokenHandler, 161 self.GaiaOAuth2TokenHandler,
166 self.GaiaSetOAuth2TokenResponseHandler] 162 self.GaiaSetOAuth2TokenResponseHandler]
167 testserver_base.BasePageHandler.__init__(self, request, client_address, 163 testserver_base.BasePageHandler.__init__(self, request, client_address,
168 sync_http_server, [], get_handlers, 164 sync_http_server, [], get_handlers,
169 [], post_handlers, []) 165 [], post_handlers, [])
170 166
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 result, raw_reply = ( 492 result, raw_reply = (
497 self.server._sync_handler.HandleSetOauth2Token( 493 self.server._sync_handler.HandleSetOauth2Token(
498 response_code, request_token, access_token, expires_in, token_type)) 494 response_code, request_token, access_token, expires_in, token_type))
499 self.send_response(result) 495 self.send_response(result)
500 self.send_header('Content-Type', 'text/html') 496 self.send_header('Content-Type', 'text/html')
501 self.send_header('Content-Length', len(raw_reply)) 497 self.send_header('Content-Length', len(raw_reply))
502 self.end_headers() 498 self.end_headers()
503 self.wfile.write(raw_reply) 499 self.wfile.write(raw_reply)
504 return True 500 return True
505 501
506 def TriggerSyncedNotificationHandler(self):
507 test_name = "/triggersyncednotification"
508 if not self._ShouldHandleRequest(test_name):
509 return False
510
511 query = urlparse.urlparse(self.path)[4]
512 query_params = urlparse.parse_qs(query)
513
514 serialized_notification = ''
515
516 if 'serialized_notification' in query_params:
517 serialized_notification = query_params['serialized_notification'][0]
518
519 try:
520 notification_string = self.server._sync_handler.account \
521 .AddSyncedNotification(serialized_notification)
522 reply = "A synced notification was triggered:\n\n"
523 reply += "<code>{}</code>.".format(notification_string)
524 response_code = 200
525 except chromiumsync.ClientNotConnectedError:
526 reply = ('The client is not connected to the server, so the notification'
527 ' could not be created.')
528 response_code = 400
529
530 self.send_response(response_code)
531 self.send_header('Content-Type', 'text/html')
532 self.send_header('Content-Length', len(reply))
533 self.end_headers()
534 self.wfile.write(reply)
535 return True
536
537 def TriggerSyncedNotificationAppInfoHandler(self):
538 test_name = "/triggersyncednotificationappinfo"
539 if not self._ShouldHandleRequest(test_name):
540 return False
541
542 query = urlparse.urlparse(self.path)[4]
543 query_params = urlparse.parse_qs(query)
544
545 app_info = ''
546
547 if 'synced_notification_app_info' in query_params:
548 app_info = query_params['synced_notification_app_info'][0]
549
550 try:
551 app_info_string = self.server._sync_handler.account \
552 .AddSyncedNotificationAppInfo(app_info)
553 reply = "A synced notification app info was sent:\n\n"
554 reply += "<code>{}</code>.".format(app_info_string)
555 response_code = 200
556 except chromiumsync.ClientNotConnectedError:
557 reply = ('The client is not connected to the server, so the app info'
558 ' could not be created.')
559 response_code = 400
560
561 self.send_response(response_code)
562 self.send_header('Content-Type', 'text/html')
563 self.send_header('Content-Length', len(reply))
564 self.end_headers()
565 self.wfile.write(reply)
566 return True
567
568 def CustomizeClientCommandHandler(self): 502 def CustomizeClientCommandHandler(self):
569 test_name = "/customizeclientcommand" 503 test_name = "/customizeclientcommand"
570 if not self._ShouldHandleRequest(test_name): 504 if not self._ShouldHandleRequest(test_name):
571 return False 505 return False
572 506
573 query = urlparse.urlparse(self.path)[4] 507 query = urlparse.urlparse(self.path)[4]
574 query_params = urlparse.parse_qs(query) 508 query_params = urlparse.parse_qs(query)
575 509
576 if 'sessions_commit_delay_seconds' in query_params: 510 if 'sessions_commit_delay_seconds' in query_params:
577 sessions_commit_delay = query_params['sessions_commit_delay_seconds'][0] 511 sessions_commit_delay = query_params['sessions_commit_delay_seconds'][0]
(...skipping 10 matching lines...) Expand all
588 response_code = 400 522 response_code = 400
589 reply = "sessions_commit_delay_seconds is required" 523 reply = "sessions_commit_delay_seconds is required"
590 524
591 self.send_response(response_code) 525 self.send_response(response_code)
592 self.send_header('Content-Type', 'text/html') 526 self.send_header('Content-Type', 'text/html')
593 self.send_header('Content-Length', len(reply)) 527 self.send_header('Content-Length', len(reply))
594 self.end_headers() 528 self.end_headers()
595 self.wfile.write(reply) 529 self.wfile.write(reply)
596 return True 530 return True
597 531
598 def SyncedNotificationsPageHandler(self):
599 test_name = "/syncednotifications"
600 if not self._ShouldHandleRequest(test_name):
601 return False
602
603 html = open('sync/tools/testserver/synced_notifications.html', 'r').read()
604
605 self.send_response(200)
606 self.send_header('Content-Type', 'text/html')
607 self.send_header('Content-Length', len(html))
608 self.end_headers()
609 self.wfile.write(html)
610 return True
611
612 def SyncedNotificationsAppInfoPageHandler(self):
613 test_name = "/syncednotificationsappinfo"
614 if not self._ShouldHandleRequest(test_name):
615 return False
616
617 html = \
618 open('sync/tools/testserver/synced_notification_app_info.html', 'r').\
619 read()
620
621 self.send_response(200)
622 self.send_header('Content-Type', 'text/html')
623 self.send_header('Content-Length', len(html))
624 self.end_headers()
625 self.wfile.write(html)
626 return True
627
628 class SyncServerRunner(testserver_base.TestServerRunner): 532 class SyncServerRunner(testserver_base.TestServerRunner):
629 """TestServerRunner for the net test servers.""" 533 """TestServerRunner for the net test servers."""
630 534
631 def __init__(self): 535 def __init__(self):
632 super(SyncServerRunner, self).__init__() 536 super(SyncServerRunner, self).__init__()
633 537
634 def create_server(self, server_data): 538 def create_server(self, server_data):
635 port = self.options.port 539 port = self.options.port
636 host = self.options.host 540 host = self.options.host
637 xmpp_port = self.options.xmpp_port 541 xmpp_port = self.options.xmpp_port
(...skipping 15 matching lines...) Expand all
653 testserver_base.TestServerRunner.add_options(self) 557 testserver_base.TestServerRunner.add_options(self)
654 self.option_parser.add_option('--xmpp-port', default='0', type='int', 558 self.option_parser.add_option('--xmpp-port', default='0', type='int',
655 help='Port used by the XMPP server. If ' 559 help='Port used by the XMPP server. If '
656 'unspecified, the XMPP server will listen on ' 560 'unspecified, the XMPP server will listen on '
657 'an ephemeral port.') 561 'an ephemeral port.')
658 # Override the default logfile name used in testserver.py. 562 # Override the default logfile name used in testserver.py.
659 self.option_parser.set_defaults(log_file='sync_testserver.log') 563 self.option_parser.set_defaults(log_file='sync_testserver.log')
660 564
661 if __name__ == '__main__': 565 if __name__ == '__main__':
662 sys.exit(SyncServerRunner().main()) 566 sys.exit(SyncServerRunner().main())
OLDNEW
« no previous file with comments | « sync/tools/testserver/chromiumsync.py ('k') | sync/tools/testserver/synced_notifications.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698