コード例 #1
0
        public void GetLocalPort_Test()
        {
            MockRepository mocks         = new MockRepository();
            IAspNetRuntime aspNetRuntime = mocks.CreateMock <IAspNetRuntime>();
            ITransaction   transaction   = mocks.CreateMock <ITransaction>();
            IResponse      response      = mocks.CreateMock <IResponse>();
            IRequest       request       = mocks.CreateMock <IRequest>();
            IPEndPoint     ipEndPoint    = new IPEndPoint(new IPAddress(new byte[] { 47, 94, 23, 12 }), 1238);

            using (mocks.Unordered()) {
                Expect.Call(request.RawUrl).Return("/foo/").Repeat.Any();
                Expect.Call(transaction.Request).Return(request).Repeat.Any();
                Expect.Call(transaction.Response).Return(response).Repeat.Any();
                Expect.Call(request.LocalEndPoint).Return(ipEndPoint).Repeat.Any();
                Expect.Call(delegate { aspNetRuntime.ProcessRequest(null); }).IgnoreArguments();
            }
            mocks.ReplayAll();

            AspNetWorker aspNetWorker = new AspNetWorker(aspNetRuntime, "/foo", @"c:\temp");

            aspNetWorker.ProcessTransaction(transaction);
            Assert.AreEqual(ipEndPoint.Port, aspNetWorker.GetLocalPort());
        }