Ejemplo n.º 1
0
 ChunkedOperation(HttpServer server, Handler handler, ChunkedOperationType type, bool sendAsync,
                  HttpOperationFlags flags, HttpStatusCode expectedStatus,
                  WebExceptionStatus expectedError)
     : base(server, handler, sendAsync, flags, expectedStatus, expectedError)
 {
     Type = type;
 }
 public InstrumentationOperation(InstrumentationTestRunner parent, string me, Handler handler,
                                 InstrumentationOperationType type, HttpOperationFlags flags,
                                 HttpStatusCode expectedStatus, WebExceptionStatus expectedError)
     : base(parent.Server, me, handler, flags, expectedStatus, expectedError)
 {
     Parent = parent;
     Type   = type;
 }
Ejemplo n.º 3
0
 public TraditionalOperation(HttpServer server, Handler handler, bool sendAsync,
                             HttpOperationFlags flags         = HttpOperationFlags.None,
                             HttpStatusCode expectedStatus    = HttpStatusCode.OK,
                             WebExceptionStatus expectedError = WebExceptionStatus.Success)
     : base(server, $"{server.ME}:{handler.Value}", handler, flags,
            expectedStatus, expectedError)
 {
     SendAsync = sendAsync;
 }
Ejemplo n.º 4
0
        public HttpOperation(HttpServer server, string me, Handler handler, HttpOperationFlags flags,
                             HttpStatusCode expectedStatus, WebExceptionStatus expectedError)
        {
            Server         = server;
            Handler        = handler;
            Flags          = flags;
            ExpectedStatus = expectedStatus;
            ExpectedError  = expectedError;

            ME = $"[{GetType ().Name}({ID}:{me})]";

            requestTask     = Listener.TaskSupport.CreateAsyncCompletionSource <Request> ();
            requestDoneTask = Listener.TaskSupport.CreateAsyncCompletionSource <Response> ();
            cts             = new CancellationTokenSource();
        }
Ejemplo n.º 5
0
        internal InstrumentationOperation StartOperation(
            TestContext ctx, CancellationToken cancellationToken,
            Handler handler, InstrumentationOperationType type,
            HttpOperationFlags flags)
        {
            var operation = CreateOperation(ctx, handler, type, flags);

            if (type == InstrumentationOperationType.Queued)
            {
                if (Interlocked.CompareExchange(ref queuedOperation, operation, null) != null)
                {
                    throw new InvalidOperationException("Invalid nested call.");
                }
            }
            operation.Start(ctx, cancellationToken);
            return(operation);
        }
Ejemplo n.º 6
0
 internal abstract InstrumentationOperation CreateOperation(
     TestContext ctx, Handler handler,
     InstrumentationOperationType type,
     HttpOperationFlags flags);