def test_async_response(self): """ FakeHttpServer supports asynchronous responses. """ requests = [] fake_http = FakeHttpServer( lambda req: requests.append(req) or NOT_DONE_YET) response1_d = fake_http.get_agent().request( "GET", "http://example.com/hello/1") response2_d = fake_http.get_agent().request( "HEAD", "http://example.com/hello/2") # Wait for the requests to arrive. yield wait0() [request1, request2] = requests self.assertNoResult(response1_d) self.assertNoResult(response2_d) self.assertEqual(request1.method, "GET") self.assertEqual(request1.path, "http://example.com/hello/1") self.assertEqual(request2.method, "HEAD") self.assertEqual(request2.path, "http://example.com/hello/2") # Send a response to the second request. request2.finish() response2 = yield response2_d self.assertNoResult(response1_d) yield self.assert_response(response2, 200, "") # Send a response to the first request. request1.write("Thank you for waiting.") request1.finish() response1 = yield response1_d yield self.assert_response(response1, 200, "Thank you for waiting.")
def test_PUT_request(self): """ FakeHttpServer can handle a PUT request. """ requests = [] fake_http = FakeHttpServer(lambda req: requests.append(req) or "hi") agent = fake_http.get_agent() self.assertTrue(IAgent.providedBy(agent)) response = yield agent.request("PUT", "http://example.com/hello") # We got a valid request and returned a valid response. [request] = requests self.assertEqual(request.method, "PUT") self.assertEqual(request.path, "http://example.com/hello") yield self.assert_response(response, 200, "hi")
def setUp(self): self.mediaedgegsm_calls = DeferredQueue() self.fake_http = FakeHttpServer(self.handle_request) self.base_url = "http://mediaedgegsm.example.com/" self.config = { 'web_path': "foo", 'web_port': 0, 'username': '******', 'password': '******', 'outbound_url': self.base_url, 'outbound_username': '******', 'outbound_password': '******', 'operator_mappings': { '417': { '417912': 'VODA', '417913': 'TIGO', '417914': 'UNKNOWN', } } } self.tx_helper = self.add_helper( TransportHelper(MediaEdgeGSMTransport)) self.transport = yield self.tx_helper.get_transport(self.config) self.transport.agent_factory = self.fake_http.get_agent self.transport_url = self.transport.get_transport_url() self.mediaedgegsm_response = '' self.mediaedgegsm_response_code = http.OK
def setUp(self): self.fake_http = FakeHttpServer(self.handle_inbound_request) self.outbound_requests = DeferredQueue() self.fake_http_response = '' self.fake_http_response_code = http.OK self.base_url = "http://apposit.example.com/" config = { 'web_path': 'api/v1/apposit/sms', 'web_port': 0, 'credentials': { '8123': { 'username': '******', 'password': '******', 'service_id': 'service-id-1', }, '8124': { 'username': '******', 'password': '******', 'service_id': 'service-id-2', } }, 'outbound_url': self.base_url, } self.tx_helper = self.add_helper( TransportHelper(AppositTransport, transport_addr='8123', mobile_addr='251911223344')) self.transport = yield self.tx_helper.get_transport(config) self.transport.agent_factory = self.fake_http.get_agent self.transport_url = self.transport.get_transport_url() self.web_path = config['web_path']
def setUp(self): self.tx_helper = self.add_helper(TransportHelper(self.transport_class)) self.fake_http = FakeHttpServer(self.handle_inbound_request) self.clock = Clock() self._request_queue = DeferredQueue() self._pending_reqs = [] self.add_cleanup(self.finish_requests)
def setup_resource_with_callback(self, callback): self.fake_http = FakeHttpServer(callback) self.app = yield self.app_helper.get_application({ 'url': 'http://relay.example.com/path', 'username': '******', 'password': '******', }) self.app.agent_factory = self.fake_http.get_agent
def setUp(self): self.integrat_calls = DeferredQueue() self.fake_http = FakeHttpServer(self.handle_request) self.base_url = "http://integrat.example.com/" config = { 'web_path': "foo", 'web_port': "0", 'url': self.base_url, 'username': '******', 'password': '******', } self.tx_helper = self.add_helper(TransportHelper(IntegratTransport)) self.transport = yield self.tx_helper.get_transport(config) self.transport.agent_factory = self.fake_http.get_agent addr = self.transport.web_resource.getHost() self.transport_url = "http://%s:%s/" % (addr.host, addr.port) self.higate_response = '<Response status_code="0"/>'
def setUp(self): self.mediafone_calls = DeferredQueue() self.fake_http = FakeHttpServer(self.handle_request) self.base_url = "http://mediafone.example.com/" self.config = { 'web_path': "foo", 'web_port': 0, 'username': '******', 'password': '******', 'outbound_url': self.base_url, } self.tx_helper = self.add_helper(TransportHelper(MediafoneTransport)) self.transport = yield self.tx_helper.get_transport(self.config) self.transport.agent_factory = self.fake_http.get_agent self.transport_url = self.transport.get_transport_url() self.mediafonemc_response = '' self.mediafonemc_response_code = http.OK
def setUp(self): self.cellulant_sms_calls = DeferredQueue() self.fake_http = FakeHttpServer(self.handle_request) self.base_url = "http://mtech-keyna.example.com/" self.valid_creds = { 'mt_username': '******', 'mt_password': '******', } self.config = { 'web_path': "foo", 'web_port': 0, 'outbound_url': self.base_url, } self.config.update(self.valid_creds) self.tx_helper = self.add_helper( TransportHelper(self.transport_class, mobile_addr='2371234567')) self.transport = yield self.tx_helper.get_transport(self.config) self.transport.agent_factory = self.fake_http.get_agent self.transport_url = self.transport.get_transport_url()
def setUp(self): self.fake_http = FakeHttpServer(self.handle_request) self.http_request_queue = DeferredQueue() config = { 'web_port': 0, 'web_path': '/api/v1/mxit/mobiportal/', 'client_id': 'client_id', 'client_secret': 'client_secret', } self.sample_loc_str = 'cc,cn,sc,sn,cc,c,noi,cfb,ci' self.sample_profile_str = 'lc,cc,dob,gender,tariff' self.sample_html_str = '<&>' self.sample_req_headers = { 'X-Device-User-Agent': 'ua', 'X-Mxit-Contact': 'contact', 'X-Mxit-USERID-R': 'user-id', 'X-Mxit-Nick': 'nick', 'X-Mxit-Location': self.sample_loc_str, 'X-Mxit-Profile': self.sample_profile_str, 'X-Mxit-User-Input': self.sample_html_str, } self.sample_menu_resp = "\n".join([ "Hello!", "1. option 1", "2. option 2", "3. option 3", ]) # same as above but the o's are replaced with # http://www.fileformat.info/info/unicode/char/f8/index.htm slashed_o = '\xc3\xb8' self.sample_unicode_menu_resp = unicode( self.sample_menu_resp.replace('o', slashed_o), 'utf-8') self.tx_helper = self.add_helper(TransportHelper(MxitTransport)) self.transport = yield self.tx_helper.get_transport(config) self.transport.agent_factory = self.fake_http.get_agent # NOTE: priming redis with an access token self.transport.redis.set(self.transport.access_token_key, 'foo') self.url = self.transport.get_transport_url(config['web_path'])
def start_fake_http(self, msg_id, msg, code=http.OK, send_id=None): fake_http = FakeHttpServer( self._make_handler(msg_id, msg, code, send_id)) self.transport.agent_factory = fake_http.get_agent return fake_http
def setUp(self): self.msgs = [] resource = IntegratHttpResource("testgrat", "ussd", self._publish) self.fake_http = FakeHttpServer(lambda req: resource.render(req))
def setUp(self): self.fake_http = FakeHttpServer(lambda r: self._render_request(r)) self.url = "http://example.com:9980/"
def setup_resource(self, callback=None, auth=None, config=None): if callback is None: callback = lambda r: self.fail("No RapidSMS requests expected.") self.fake_http = FakeHttpServer(callback) self.app = yield self.setup_app(auth=auth, config=config) self.app.agent_factory = self.fake_http.get_agent
def __init__(self): self.cellulant_sms_calls = DeferredQueue() self.fake_http = FakeHttpServer(self.handle_request) self.response = '' self.get_agent = self.fake_http.get_agent self.get = self.cellulant_sms_calls.get
def setUp(self): self.tx_helper = self.add_helper(TransportHelper(WeChatTransport)) self.request_queue = DeferredQueue() self.fake_http = FakeHttpServer(self.handle_api_request) self.api_url = 'https://api.wechat.com/cgi-bin/'