public void start()
        {
            var cassini = new API_Cassini();
            var port = cassini.port();
            var url = cassini.url();
            var port_BeforeStart = port.tcpClient();            

            cassini.start();
            var port_AfterStart = port.tcpClient();
            var html = url.get_Html();            

            cassini.stop();
            var port_AfterStop  = port.tcpClient();

            Assert.Less     (0,port);
            Assert.IsNull   (port_BeforeStart);
            Assert.IsNotNull(port_AfterStart);
            Assert.IsNull   (port_AfterStop);
            Assert.IsNotNull(url);
            Assert.IsTrue   (html.valid());
            Assert.IsTrue   (html.contains("Directory Listing"));

            //test null data
            Assert.IsNull((null as API_Cassini).start());        
    
            //delete site folder
            cassini.PhysicalPath.delete_Folder();
        }
        /// <summary>
        /// Creates a random file (one with a unique name and contents) in the web root of apiCassini
        ///
        /// The file name is created by <code>var fileName     = "randomFile_{0}.{1}".format(6.randomLetters(), extension);</code>
        /// </summary>
        /// <param name="apiCassini"></param>
        /// <param name="extension"></param>
        /// <returns></returns>
        public static string create_Random_File(this API_Cassini apiCassini, string extension)
        {
            var fileName     = "randomFile_{0}.{1}".format(6.randomLetters(), extension);
            var fileContents = "This is a random file created by API_Cassini.create_Random_File extension method".line().add_5_RandomLetters();

            return(apiCassini.create_File(fileName, fileContents));
        }
        public void API_Cassini_Ctors()
        {
            //() ctor
            var cassini_Default = new API_Cassini();
            Assert.IsNotNull(cassini_Default);
            Assert.IsTrue   (cassini_Default.CassiniServer.PhysicalPath.dirExists());
            Assert.Less     (20000, cassini_Default.CassiniServer.Port);
            Assert.AreEqual ("/", cassini_Default.CassiniServer.VirtualPath);

            //(string physicalPath) ctor
            var physicalPath = @"C:\a_path\".add_RandomLetters(10) + "\\";
            var cassini_PhysicalPath = new API_Cassini(physicalPath);
            Assert.IsNotNull(cassini_PhysicalPath);
            Assert.IsFalse  (cassini_PhysicalPath.CassiniServer.PhysicalPath.dirExists());
            Assert.AreEqual (cassini_PhysicalPath.CassiniServer.PhysicalPath, physicalPath);
            Assert.Less     (20000, cassini_PhysicalPath.CassiniServer.Port);
            Assert.AreEqual ("/", cassini_PhysicalPath.CassiniServer.VirtualPath);

            //(string physicalPath, string virtualPath, int port) ctor
            var port = 12345;
            var virtualPath = "/".add_RandomLetters(10);
            var cassini_AllValues = new API_Cassini(physicalPath, virtualPath, port);
            Assert.IsNotNull(cassini_AllValues);
            Assert.IsFalse  (cassini_AllValues.CassiniServer.PhysicalPath.dirExists());
            Assert.AreEqual (cassini_AllValues.CassiniServer.PhysicalPath, physicalPath);
            Assert.AreEqual (cassini_AllValues.CassiniServer.Port, port);
            Assert.AreEqual (cassini_AllValues.CassiniServer.VirtualPath, virtualPath);

            //delete site folder
            cassini_Default.PhysicalPath.delete_Folder();
            cassini_PhysicalPath.PhysicalPath.delete_Folder();
        }
Esempio n. 4
0
 /// <summary>
 /// Starts the CassiniServer (cy calling its Start Method)
 /// </summary>
 /// <param name="apiCassini"></param>
 /// <returns></returns>
 public static API_Cassini   start(this API_Cassini apiCassini)
 {
     if (apiCassini.notNull())
     {
         apiCassini.CassiniServer.Start();
     }
     return(apiCassini);
 }
Esempio n. 5
0
 /// <summary>
 /// Returns the IP Address of the current cassini server
 /// </summary>
 /// <param name="apiCassini"></param>
 /// <returns></returns>
 public static string        ipAddress(this API_Cassini apiCassini)
 {
     if (apiCassini.server().notNull())
     {
         return(apiCassini.server().IPAddress.str());
     }
     return(null);
 }
Esempio n. 6
0
 /// <summary>
 /// Stops the CassiniServer (by calling its ShutDown method)
 /// </summary>
 /// <param name="apiCassini"></param>
 /// <returns></returns>
 public static API_Cassini   stop(this API_Cassini apiCassini)
 {
     if (apiCassini.notNull())
     {
         apiCassini.CassiniServer.ShutDown();
     }
     return(apiCassini);
 }
        public void teamMentor_Objects_Proxy()
        {
            var nUnitTests_Cassini = new NUnitTests_Cassini_TeamMentor();
            var apiCassini         = new API_Cassini();
            nUnitTests_Cassini.apiCassini = apiCassini;

            nUnitTests_Cassini.teamMentor_Objects_Proxy().assert_Not_Null()
                              .apiCassini.assert_Is(apiCassini);
        }
Esempio n. 8
0
 /// <summary>
 /// Returns the root URL of the current server
 /// </summary>
 /// <param name="apiCassini"></param>
 /// <returns></returns>
 public static string        url(this API_Cassini apiCassini)
 {
     if (apiCassini.notNull())
     {
         var server = apiCassini.server();
         return("http://{0}:{1}/".format(server.IPAddress.str(), server.Port));
     }
     return(null);
 }
        /// <summary>
        /// Returns the file path to the url provided (urlToMap)
        ///
        /// For example http://server:port:/a/file.aspx should return c:\path\to\server\a\file.aspx
        /// </summary>
        /// <param name="apiCassini"></param>
        /// <param name="urlToMap"></param>
        /// <returns></returns>
        public static string file_From_Url(this API_Cassini apiCassini, string urlToMap)
        {
            var url = apiCassini.url();

            if (urlToMap.contains(url))
            {
                return(apiCassini.mapPath(urlToMap.remove(url)));
            }
            return(null);
        }
        /// <summary>
        /// Returns the url to the file provided
        ///
        /// For example c:\path\to\server\a\file.aspx should return http://server:port:/a/file.aspx
        /// </summary>
        /// <param name="apiCassini"></param>
        /// <param name="fileToMap"></param>
        /// <returns></returns>
        public static string url_From_File(this API_Cassini apiCassini, string fileToMap)
        {
            var webRoot = apiCassini.webRoot();

            if (fileToMap.contains(webRoot))
            {
                return(apiCassini.url(fileToMap.remove(webRoot)));
            }
            return(null);
        }
        public static O2AppDomainFactory o2AppDomainFactory(this API_Cassini apiCassini)
        {
            var appDomain = apiCassini.appDomain();

            if (appDomain.notNull())
            {
                return(new O2AppDomainFactory(appDomain));
            }
            return(null);
        }
 /// <summary>
 /// Creates a file inside the current web root
 ///
 /// returns the path to the file created
 /// </summary>
 /// <param name="apiCassini"></param>
 /// <param name="fileVirtualPath"></param>
 /// <param name="fileContents"></param>
 /// <returns></returns>
 public static string create_File(this API_Cassini apiCassini, string fileVirtualPath, string fileContents)
 {
     if (fileContents.valid())
     {
         var filePath = apiCassini.mapPath(fileVirtualPath);
         if (filePath.valid() && filePath.file_Not_Exists())
         {
             return(fileContents.saveAs(filePath));
         }
     }
     return(null);
 }
Esempio n. 13
0
        public static void Main()
        {           
            var server = new Server("test".tempDir());
            var host = server.invoke("GetHost");


            var cassini = new API_Cassini();
            cassini.start();
            var browser = "FluentSharp.AspNet_Mvc".popupWindow()
                                                 .add_WebBrowser()
                                                 .add_NavigationBar();
            browser.open(cassini.url());
            browser.waitForClose();
            cassini.stop();
        }
        public virtual void testFixtureSetUp()
        {
            webRoot           = this.teamMentor_Root_OnDisk() .assert_Folder_Exists();  // this points to a folder with the full TM
            path_XmlLibraries = "path_XmlLibraries".tempDir() .assert_Folder_Exists();  // this points to a temp folder

            apiCassini = new API_Cassini(webRoot)        .assert_Not_Null();
            port       = apiCassini.port()               .assert_Not_Default();
            siteUri    = apiCassini.url().uri();

            apiCassini.webRoot().assert_Equal_To(webRoot);

            port      .tcpClient().assert_Null();
            apiCassini.start();

            this.tmProxy().set_Custom_Path_XmlDatabase(path_XmlLibraries);              // configure TM to the temp path_XmlLibraries folder for all files created
        }
        public void start()
        {       
            apiCassini.assert_Null();
            webRoot   .assert_Folder_Not_Exists();
            port      .assert_Default();

            apiCassini = new API_Cassini();
            webRoot    = apiCassini.webRoot();
            port       = apiCassini.port();
                        

            webRoot   .assert_Folder_Exists();
            port      .tcpClient().assert_Null();
            apiCassini.start();
            port      .tcpClient().assert_Not_Null();
        }
        public void Get_Controller_Via_Cassini()
        {                               
            var server = new API_Cassini(webRoot);

            server.start();

            var testUrl     = server.url() + "Test";
            var html        = testUrl.html();
            var expected    = "Razor Page Test";
            
            
            Assert.IsTrue(html.contains(expected));

            /*"view site".popupWindow()
                       .add_WebBrowser_with_NavigationBar()
                       .open(server.url())
                       .waitForClose();
            */
            server.stop();
        }
 public static API_Cassini appDomain_Load_FluentSharp_Assemblies(this API_Cassini apiCassini)
 {
     return(apiCassini);
 }
 /// <summary>
 /// Returns the url to the file provided
 /// </summary>
 /// <param name="fileToMap"></param>
 /// <param name="apiCassini"></param>
 /// <returns></returns>
 public static string url_From_File(this string fileToMap, API_Cassini apiCassini)
 {
     return(apiCassini.url_From_File(fileToMap));
 }
Esempio n. 19
0
 /// <summary>
 /// Returns a  reference to the CassiniServer object
 /// </summary>
 /// <param name="apiCassini"></param>
 /// <returns></returns>
 public static Server        server(this API_Cassini apiCassini)
 {
     return((apiCassini.notNull())
         ? apiCassini.CassiniServer
         : null);
 }
 public static AppDomain appDomain(this API_Cassini apiCassini)
 {
     return(apiCassini.host().notNull() ? apiCassini.host().AppDomain : null);
 }
Esempio n. 21
0
 /// <summary>
 /// Returns the CassiniServer Host object (by calling <code>CassiniServer.GetHost()</code>  )
 /// </summary>
 /// <param name="apiCassini"></param>
 /// <returns></returns>
 public static Host          host(this API_Cassini apiCassini)
 {
     return(apiCassini.server().notNull()
                 ? apiCassini.server().GetHost()
                 : null);
 }
Esempio n. 22
0
 /// <summary>
 /// Returns the port of the current cassini server
 /// </summary>
 /// <param name="apiCassini"></param>
 /// <returns></returns>
 public static int           port(this API_Cassini apiCassini)
 {
     return(apiCassini.notNull()
                 ? apiCassini.CassiniServer.Port
                 : -1);
 }
Esempio n. 23
0
 /// <summary>
 /// Resources a virtual path into a full url
 ///
 /// For example if <code>virtualPath="test.txt"</code>, the return value will be <code>http://server:port/test.txt</code>
 /// </summary>
 /// <param name="apiCassini"></param>
 /// <param name="virtualPath"></param>
 /// <returns></returns>
 public static string        url(this API_Cassini apiCassini, string virtualPath)
 {
     return(apiCassini.url()
            .uri()
            .append(virtualPath).str());
 }
 public static string mapPath(this API_Cassini apiCassini, string virtualPath)
 {
     return(apiCassini.webRoot()
            .mapPath(virtualPath));
 }
 /// <summary>
 /// Creates a random HTML file on the web root
 ///
 /// returns <code>apiCassini.create_Random_File("html");</code>
 /// </summary>
 /// <param name="apiCassini"></param>
 /// <returns></returns>
 public static string create_Random_File_Html(this API_Cassini apiCassini)
 {
     return(apiCassini.create_Random_File("html"));
 }
 /// <summary>
 /// Creates a random ASPX file on the web root (with no dynamic content, just pure text)
 ///
 /// returns <code>apiCassini.create_Random_File("aspx");</code>
 /// </summary>
 /// <param name="apiCassini"></param>
 /// <returns></returns>
 public static string create_Random_File_Aspx(this API_Cassini apiCassini)
 {
     return(apiCassini.create_Random_File("aspx"));
 }
        public void Browser_Website()
        {
            var cassini = new API_Cassini();
            cassini.start();
            var browser = "FluentSharp - Test side".popupWindow().add_WebBrowser();
            
            browser.html().assert_Empty();

            browser.open(cassini.url()).waitForCompleted();
                   
            
            browser.html().assert_Not_Empty()
                          .assert_Contains("Directory Listing");            

            //delete site folder
            cassini.PhysicalPath.delete_Folder();
            browser.closeForm();

        }
 public static string webRoot(this API_Cassini apiCassini)
 {
     return((apiCassini.notNull()) ? apiCassini.PhysicalPath : null);
 }
 /// <summary>
 /// Creates a random Text file on the web root
 ///
 /// returns <code>apiCassini.create_Random_File("txt");</code>
 /// </summary>
 /// <param name="apiCassini"></param>
 /// <returns></returns>
 public static string create_Random_File_Txt(this API_Cassini apiCassini)
 {
     return(apiCassini.create_Random_File("txt"));
 }
        [SetUp] public void setup()
        {
            apiCassini = new API_Cassini();            

            apiCassini.webRoot().assert_Folder_Empty();
        }
Esempio n. 31
0
 public TM_Proxy(API_Cassini apiCassini)
 {
     this.apiCassini = apiCassini;
     o2Proxy         = apiCassini.appDomain().o2Proxy();
 }
 public void setup()
 {
     api_Cassini  = new API_Cassini();     
     api_Cassini.start();
 }
 /// <summary>
 /// Returns the url to the file provided
 /// </summary>
 /// <param name="fileToMap"></param>
 /// <param name="apiCassini"></param>
 /// <returns></returns>
 public static string url_From_File(this string fileToMap,  API_Cassini apiCassini)
 {
     return apiCassini.url_From_File(fileToMap);
 }