twisted.web.test.test_agent.AgentTests(TestCase, FakeReactorAndConnectMixin, AgentTestsMixin, IntegrationTestingMixin) class documentationtwisted.web.test.test_agent
(View In Hierarchy)
Tests for the new HTTP client API provided by Agent.
| Method | makeAgent | |
| Method | setUp | Create an Agentwrapped around a fake reactor. | 
| Method | test_defaultPool | If no pool is passed in, the Agentcreates a 
non-persistent pool. | 
| Method | test_persistent | If persistentis set toTrueon theHTTPConnectionPool(the default),Requests are created with theirpersistentflag set toTrue. | 
| Method | test_nonPersistent | If persistentis set toFalsewhen creating 
theHTTPConnectionPool,Requests are created with theirpersistentflag 
set toFalse. | 
| Method | test_connectUsesConnectionPool | When a connection is made by the Agent, it uses its pool's getConnectionmethod to do so, with the endpoint returned byself._getEndpoint. The key used is(scheme, host, 
port). | 
| Method | test_nonBytesMethod | Agent.requestraisesTypeErrorwhen themethodargument isn'tbytes. | 
| Method | test_unsupportedScheme | Agent.requestreturns aDeferredwhich
fails withSchemeNotSupportedif the scheme of the URI passed to it is not'http'. | 
| Method | test_connectionFailed | The Deferredreturned byAgent.requestfires with aFailureif the 
TCP connection attempt fails. | 
| Method | test_connectHTTP | Agent._getEndpointreturn aHostnameEndpointwhen passed a scheme of'http'. | 
| Method | test_nonDecodableURI | Agent._getEndpointwhen given a non-ASCII decodable URI will raise aValueErrorsaying such. | 
| Method | test_hostProvided | If Noneis passed toAgent.requestfor theheadersparameter, aHeadersinstance is created for the request and a Host header added to 
it. | 
| Method | test_hostIPv6Bracketed | If an IPv6 address is used in the uripassed toAgent.request,
the computed Host header needs to be bracketed. | 
| Method | test_hostOverride | If the headers passed to Agent.requestincludes a value for the Host header, that value takes precedence 
over the one which would otherwise be automatically provided. | 
| Method | test_headersUnmodified | If a Host header must be added to the request, the Headersinstance passed toAgent.requestis not modified. | 
| Method | test_hostValueStandardHTTP | When passed a scheme of 'http'and a port of80,Agent._computeHostValuereturns a string 
giving just the host name passed to it. | 
| Method | test_hostValueNonStandardHTTP | When passed a scheme of 'http'and a port other than80,Agent._computeHostValuereturns a string 
giving the host passed to it joined together with the port number by":". | 
| Method | test_hostValueStandardHTTPS | When passed a scheme of 'https'and a port of443,Agent._computeHostValuereturns a string 
giving just the host name passed to it. | 
| Method | test_hostValueNonStandardHTTPS | When passed a scheme of 'https'and a port other than443,Agent._computeHostValuereturns a string 
giving the host passed to it joined together with the port number by":". | 
| Method | test_request | No summary | 
| Method | test_connectTimeout | Agenttakes aconnectTimeoutargument which is forwarded to the followingconnectTCPagent. | 
| Method | test_connectTimeoutHTTPS | Agenttakes aconnectTimeoutargument which is forwarded to the followingconnectTCPcall. | 
| Method | test_bindAddress | Agenttakes abindAddressargument which is forwarded to the followingconnectTCPcall. | 
| Method | test_bindAddressSSL | Agenttakes abindAddressargument which is forwarded to the followingconnectSSLcall. | 
| Method | test_responseIncludesRequest | Responses 
returned byAgent.requesthave a reference to theRequestthat 
was originally issued. | 
| Method | test_requestAbsoluteURI | Request.absoluteURIis the absolute URI of the request. | 
| Method | test_requestMissingAbsoluteURI | Request.absoluteURIisNoneifRequest._parsedURIisNone. | 
| Method | test_endpointFactory | Agent.usingEndpointFactorycreates anAgentthat uses the given factory to create endpoints. | 
| Method | test_endpointFactoryDefaultPool | If no pool is passed in to Agent.usingEndpointFactory,
a default pool is constructed with no persistent connections. | 
| Method | test_endpointFactoryPool | If a pool is passed in to Agent.usingEndpointFactoryit is used as theAgentpool. | 
Inherited from TestCase:
| Instance Variable | timeout | A real number of seconds. If set, the test will raise an error if it takes 
longer than timeoutseconds. If not set, 
util.DEFAULT_TIMEOUT_DURATION is used. | 
| Method | __init__ | Construct an asynchronous test case for methodName. | 
| Method | assertFailure | Fail if deferreddoes not errback with one ofexpectedFailures. Returns the original Deferred with callbacks
added. You will need to return this Deferred from your test case. | 
| Method | __call__ | Run the test. Should always do exactly the same thing as run(). | 
| Method | deferSetUp | Undocumented | 
| Method | deferTestMethod | Undocumented | 
| Method | deferTearDown | Undocumented | 
| Method | deferRunCleanups | Run any scheduled cleanups and report errors (if any to the result object. | 
| Method | addCleanup | Extend the base cleanup feature with support for cleanup functions which return Deferreds. | 
| Method | getSuppress | Undocumented | 
| Method | getTimeout | No summary | 
| Method | _run | Run a single method, either a test method or fixture. | 
| Method | _ebDeferSetUp | Undocumented | 
| Method | _cbDeferTestMethod | Undocumented | 
| Method | _ebDeferTestMethod | Undocumented | 
| Method | _ebDeferTearDown | Undocumented | 
| Method | _cbDeferRunCleanups | Undocumented | 
| Method | _cleanUp | Undocumented | 
| Method | _classCleanUp | Undocumented | 
| Method | _makeReactorMethod | Create a method which wraps the reactor method name. The 
new method issues a deprecation warning and calls the original. | 
| Method | _deprecateReactor | Deprecate iterate,crashandstoponreactor. That is, each method is wrapped in a function that
issues a deprecation warning, then calls the original. | 
| Method | _undeprecateReactor | Restore the deprecated reactor methods. Undoes what _deprecateReactordid. | 
| Method | _runCleanups | Run the cleanups added with addCleanupin order. | 
| Method | _runFixturesAndTest | Really run setUp, the test method, andtearDown.  Any of these may returndefer.Deferreds.
After they complete, do some reactor cleanup. | 
| Method | _wait | Take a Deferred that only ever callbacks. Block until it happens. | 
Inherited from SynchronousTestCase (via TestCase):
| Instance Variable | failureException | An exception class, defaulting to FailTest. If the test method
raises this exception, it will be reported as a failure, rather than an 
exception. All of the assertion methods raise this if the assertion fails. | 
| Instance Variable | skip | Noneor a string explaining why this test is to be skipped. If defined, the test
will not be run. Instead, it will be reported to the result object as 
'skipped' (if theTestResultsupports skipping). | 
| Instance Variable | todo | None,
a string or a tuple of(errors, reason)whereerrorsis either an exception class or an iterable of 
exception classes, andreasonis a string. SeeTodoormakeTodofor 
more information. | 
| Instance Variable | suppress | Noneor a list of tuples of(args, kwargs)to be passed towarnings.filterwarnings. Use these to suppress warnings raised
in a test. Useful for testing deprecated code. See alsoutil.suppress. | 
| Method | __eq__ | No summary | 
| Method | __ne__ | Undocumented | 
| Method | __hash__ | Undocumented | 
| Method | shortDescription | Undocumented | 
| Method | getSkip | No summary | 
| Method | getTodo | No summary | 
| Method | runTest | If no methodNameargument is passed to the constructor,runwill treat this method as the thing with the actual test inside. | 
| Method | run | Run the test case, storing the results in result. | 
| Method | patch | Monkey patch an object for the duration of the test. | 
| Method | flushLoggedErrors | Remove stored errors received from the log. | 
| Method | flushWarnings | Remove stored warnings from the list of captured warnings and return them. | 
| Method | callDeprecated | Call a function that should have been deprecated at a specific version and in favor of a specific alternative, and assert that it was thusly deprecated. | 
| Method | mktemp | Create a new path name which can be used for a new file or directory. | 
| Method | _getSuppress | No summary | 
| Method | _getSkipReason | Return the reason to use for skipping a test method. | 
| Method | _installObserver | Undocumented | 
| Method | _removeObserver | Undocumented | 
Inherited from _Assertions (via TestCase, SynchronousTestCase):
| Method | fail | Absolutely fail the test. Do not pass go, do not collect $200. | 
| Method | assertFalse | Fail the test if conditionevaluates to True. | 
| Method | assertTrue | Fail the test if conditionevaluates to False. | 
| Method | assertRaises | Fail the test unless calling the function fwith the givenargsandkwargsraisesexception. 
The failure will report the traceback and call stack of the unexpected 
exception. | 
| Method | assertEqual | Fail the test if firstandsecondare not 
equal. | 
| Method | assertIs | Fail the test if firstis notsecond.  This is
an obect-identity-equality test, not an object equality (i.e.__eq__) test. | 
| Method | assertIsNot | Fail the test if firstissecond.  This is an 
obect-identity-equality test, not an object equality (i.e.__eq__) test. | 
| Method | assertNotEqual | Fail the test if first==second. | 
| Method | assertIn | Fail the test if containeeis not found incontainer. | 
| Method | assertNotIn | Fail the test if containeeis found incontainer. | 
| Method | assertNotAlmostEqual | Fail if the two objects are equal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero. | 
| Method | assertAlmostEqual | Fail if the two objects are unequal as determined by their difference rounded to the given number of decimal places (default 7) and comparing to zero. | 
| Method | assertApproximates | Fail if first-second>tolerance | 
| Method | assertSubstring | Fail if substringdoes not exist withinastring. | 
| Method | assertNotSubstring | Fail if astringcontainssubstring. | 
| Method | assertWarns | Fail if the given function doesn't generate the specified warning when called. It calls the function, checks the warning, and forwards the result of the function if everything is fine. | 
| Method | assertIsInstance | Fail if instanceis not an instance of the given class or 
of one of the given classes. | 
| Method | assertNotIsInstance | Fail if instanceis an instance of the given class or of 
one of the given classes. | 
| Method | successResultOf | Return the current success result of deferredor raiseself.failureException. | 
| Method | failureResultOf | Return the current failure result of deferredor raiseself.failureException. | 
| Method | assertNoResult | Assert that deferreddoes not have a result at this 
point. | 
| Method | assertRegex | Fail the test if a regexpsearch oftextfails. | 
Inherited from FakeReactorAndConnectMixin:
| Method | createReactor | Create a MemoryReactorClockand give it some hostnames it can resolve. | 
| Class | StubEndpoint | Endpoint that wraps existing endpoint, substitutes StubHTTPProtocol, and resulting protocol instances are attached to the given test case. | 
| Method | buildAgentForWrapperTest | Return an Agent suitable for use in tests that wrap the Agent and want both a fake reactor and StubHTTPProtocol. | 
| Method | connect | Fake implementation of an endpoint which synchronously succeeds with an 
instance of StubHTTPProtocolfor ease of testing. | 
Inherited from AgentTestsMixin:
| Method | test_interface | The agent object provides IAgent. | 
Inherited from IntegrationTestingMixin:
| Method | test_integrationTestIPv4 | Agentworks 
over IPv4. | 
| Method | test_integrationTestIPv4Address | Agentworks 
over IPv4 when hostname is an IPv4 address. | 
| Method | test_integrationTestIPv6 | Agentworks 
over IPv6. | 
| Method | test_integrationTestIPv6Address | Agentworks 
over IPv6 when hostname is an IPv6 address. | 
| Method | integrationTest | Agentwill make
a TCP connection, send an HTTP request, and return aDeferredthat 
fires when the response has been received. | 
If persistent is set to True on the HTTPConnectionPool
(the default), Requests are created with their 
persistent flag set to True.
If persistent is set to False when creating 
the HTTPConnectionPool,
Requests are created with their persistent flag 
set to False.
Elsewhere in the tests for the underlying HTTP code we ensure that this will result in the disconnection of the HTTP protocol once the request is done, so that the connection will not be returned to the pool.
When a connection is made by the Agent, it uses its pool's 
getConnection method to do so, with the endpoint returned by 
self._getEndpoint. The key used is (scheme, host, 
port).
Agent.request
returns a Deferred which
fails with SchemeNotSupported
if the scheme of the URI passed to it is not 'http'.
The Deferred 
returned by Agent.request
fires with a Failure if the 
TCP connection attempt fails.
Agent._getEndpoint
return a HostnameEndpoint when passed a scheme of 
'http'.
Agent._getEndpoint
when given a non-ASCII decodable URI will raise a ValueError
saying such.
If None
is passed to Agent.request
for the headers parameter, a Headers 
instance is created for the request and a Host header added to 
it.
If an IPv6 address is used in the uri passed to Agent.request,
the computed Host header needs to be bracketed.
If the headers passed to Agent.request
includes a value for the Host header, that value takes precedence 
over the one which would otherwise be automatically provided.
If a Host header must be added to the request, the Headers 
instance passed to Agent.request
is not modified.
When passed a scheme of 'http' and a port of 
80, Agent._computeHostValue returns a string 
giving just the host name passed to it.
When passed a scheme of 'http' and a port other than 
80, Agent._computeHostValue returns a string 
giving the host passed to it joined together with the port number by 
":".
When passed a scheme of 'https' and a port of 
443, Agent._computeHostValue returns a string 
giving just the host name passed to it.
When passed a scheme of 'https' and a port other than 
443, Agent._computeHostValue returns a string 
giving the host passed to it joined together with the port number by 
":".
Agent.request
establishes a new connection to the host indicated by the host part of the 
URI passed to it and issues a request using the method, the path portion of
the URI, the headers, and the body producer passed to it.  It returns a Deferred which
fires with an IResponse from the 
server.
Agent takes a 
connectTimeout argument which is forwarded to the following 
connectTCP agent.
Agent takes a 
connectTimeout argument which is forwarded to the following 
connectTCP call.
Agent takes a 
bindAddress argument which is forwarded to the following 
connectTCP call.
Agent takes a 
bindAddress argument which is forwarded to the following 
connectSSL call.
Responses 
returned by Agent.request
have a reference to the Request that 
was originally issued.
Request.absoluteURI
is None
if Request._parsedURI
is None.
Agent.usingEndpointFactory
creates an Agent 
that uses the given factory to create endpoints.
If no pool is passed in to Agent.usingEndpointFactory,
a default pool is constructed with no persistent connections.
If a pool is passed in to Agent.usingEndpointFactory
it is used as the Agent pool.