コード例 #1
0
ファイル: HttpWorkerTests.cs プロジェクト: nsavga/aspnetserve
        public void GetFilePathTest()
        {
            SimpleWorkerRequest reference = new SimpleWorkerRequest("/webapp", "c:\\webapp\\", "default.aspx", "", null);

            AspNetWorker worker = GetHttpWorker("/webapp", "c:\\webapp\\");

            Assert.AreEqual(reference.GetFilePath(), worker.GetFilePath());
        }
コード例 #2
0
        public void GetAppPoolID_Test()
        {
            MockRepository mocks         = new MockRepository();
            IAspNetRuntime aspNetRuntime = mocks.CreateMock <IAspNetRuntime>();

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

            Assert.AreEqual(AppDomain.CurrentDomain.Id.ToString(), aspNetWorker.GetAppPoolID());
        }
コード例 #3
0
        public void GetConnectionID_Test()
        {
            MockRepository mocks         = new MockRepository();
            IAspNetRuntime aspNetRuntime = mocks.CreateMock <IAspNetRuntime>();

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

            Assert.AreEqual(0, aspNetWorker.GetConnectionID());
        }
コード例 #4
0
        public void GetAppPathTranslated_Test()
        {
            MockRepository mocks        = new MockRepository();
            string         physicalPath = @"c:\temp";

            IAspNetRuntime aspNetRuntime = mocks.CreateMock <IAspNetRuntime>();
            AspNetWorker   aspNetWorker  = new AspNetWorker(aspNetRuntime, "/", physicalPath);

            Assert.AreEqual(physicalPath, aspNetWorker.GetAppPathTranslated());
        }
コード例 #5
0
        public void GetAppPath_When_Virtual_Path_Is_Complex_Test()
        {
            MockRepository mocks       = new MockRepository();
            string         virtualPath = @"/foo";

            IAspNetRuntime aspNetRuntime = mocks.CreateMock <IAspNetRuntime>();
            AspNetWorker   aspNetWorker  = new AspNetWorker(aspNetRuntime, virtualPath, @"z:\temp");

            Assert.AreEqual(virtualPath, aspNetWorker.GetAppPath());
        }
コード例 #6
0
ファイル: HttpWorkerTests.cs プロジェクト: nsavga/aspnetserve
        public void GetAppPoolIDTest()
        {
            /*
             * This test was ignored because I fail to find it useful at the moment.
             */
            SimpleWorkerRequest reference = new SimpleWorkerRequest("/webapp", "c:\\webapp\\", "default.aspx", "", null);

            AspNetWorker worker = GetHttpWorker("/webapp", "c:\\webapp\\");

            Assert.AreEqual(reference.GetAppPoolID(), worker.GetAppPoolID());
        }
コード例 #7
0
ファイル: HttpWorkerTests.cs プロジェクト: nsavga/aspnetserve
        public void RequestTraceIdentifierTest()
        {
            /*
             * This method is no longer valid... this should possibly be removed soon.
             */
            SimpleWorkerRequest reference = new SimpleWorkerRequest("/webapp", "c:\\webapp\\", "default.aspx", "", null);

            AspNetWorker worker = GetHttpWorker("/webapp", "c:\\webapp\\");

            Assert.AreEqual(reference.RequestTraceIdentifier, worker.RequestTraceIdentifier);
        }
コード例 #8
0
        public void GetPathInfo_With_Tail_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>();

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

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

            aspNetWorker.ProcessTransaction(transaction);
            Assert.AreEqual("/ATail", aspNetWorker.GetPathInfo());
        }
コード例 #9
0
        public void FlushResponse_Is_Final_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>();

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

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

            aspNetWorker.ProcessTransaction(transaction);
            aspNetWorker.FlushResponse(true);
        }
コード例 #10
0
        public void GetHttpVerbName_When_Is_Delete_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>();

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

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

            aspNetWorker.ProcessTransaction(transaction);
            Assert.AreEqual("DELETE", aspNetWorker.GetHttpVerbName());
        }
コード例 #11
0
        public void GetProtocol_When_Request_Is_Not_Secure_And_Response_Is_Secure_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>();

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

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

            aspNetWorker.ProcessTransaction(transaction);
            Assert.AreEqual("HTTP", aspNetWorker.GetProtocol());
        }
コード例 #12
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());
        }
コード例 #13
0
        public void GetBytesRead_When_No_Bytes_Read_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>();

            byte[] postData = new byte[] { };

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

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

            aspNetWorker.ProcessTransaction(transaction);
            Assert.AreEqual(postData.Length, aspNetWorker.GetBytesRead());
        }
コード例 #14
0
        public void GetKnownRequestHeader_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>();
            string         expectedValue = (new Guid()).ToString();
            int            index         = (new Random()).Next();

            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.GetKnownRequestHeader(index)).Return(expectedValue).Repeat.Any();
                Expect.Call(delegate { aspNetRuntime.ProcessRequest(null); }).IgnoreArguments();
            }
            mocks.ReplayAll();

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

            aspNetWorker.ProcessTransaction(transaction);
            Assert.AreEqual(expectedValue, aspNetWorker.GetKnownRequestHeader(index));
        }
コード例 #15
0
ファイル: HttpWorkerTests.cs プロジェクト: nsavga/aspnetserve
        public void RootWebConfigPathTest()
        {
            AspNetWorker worker = GetHttpWorker("/webapp", "c:\\webapp\\");

            Assert.AreEqual(string.Format("{0}CONFIG\\web.config", HttpRuntime.AspInstallDirectory), worker.RootWebConfigPath);
        }
コード例 #16
0
ファイル: HttpWorkerTests.cs プロジェクト: nsavga/aspnetserve
        public void MachineInstallDirectoryTest()
        {
            AspNetWorker worker = GetHttpWorker("/webapp", "c:\\webapp\\");

            Assert.AreEqual(HttpRuntime.AspInstallDirectory, worker.MachineInstallDirectory);
        }