示例#1
0
        public void CanDetectConnectionStringsForDatabaseInConfigurations()
        {
            var csProjs = new string[]
            {
                @"C:\dev\edx\EDX\ClientAPI\ClientAPI.csproj",
            };

            var architecture = new CsProjParser(csProjs).Parse(CsProjParser.ReadLinesFromFile);
            var projects     = architecture.Projects;

            Assert.AreEqual(1, projects.Count());
            Assert.AreEqual(2, projects[0].Databases.Count);
            Assert.AreEqual("{1}", projects[0].Databases[0].Name);
        }
示例#2
0
        public void CanParseCsProjFileNames()
        {
            var csProjs = new string[]
            {
                @"C:\dev\edx\EDX\EDXServer\EDXServer.csproj",
                @"C:\dev\edx\EDX\GUI Shell\GUI Shell.csproj"
            };

            var architecture = new CsProjParser(csProjs).Parse(CsProjParser.ReadLinesFromFile);
            var projects     = architecture.Projects;

            Assert.AreEqual(2, projects.Count());
            Assert.AreEqual("EDXServer", projects[0].Name);
            Assert.AreEqual("GUI Shell", projects[1].Name);
        }
示例#3
0
        public void CanDetectProjectsWithReferToEndpoints()
        {
            var csProjs = new string[]
            {
                @"C:\dev\edx\EDX\GUI Shell\GUI Shell.csproj",
            };

            var architecture = new CsProjParser(csProjs).Parse(CsProjParser.ReadLinesFromFile);
            var projects     = architecture.Projects;

            Assert.AreEqual(1, projects.Count());
            Assert.AreEqual("GUI Shell", projects[0].Name);
            Assert.AreEqual(7, projects[0].Endpoints.Count);
            Assert.AreEqual("wsSecurity", projects[0].Endpoints[0]);
        }
示例#4
0
        public void CanDetectProjectsThatServeWCFServices()
        {
            var csProjs = new string[]
            {
                @"C:\dev\edx\EDX\ClientAPI\ClientAPI.csproj",
            };

            var architecture = new CsProjParser(csProjs).Parse(CsProjParser.ReadLinesFromFile);
            var projects     = architecture.Projects;

            Assert.AreEqual(1, projects.Count());
            Assert.AreEqual("ClientAPI", projects[0].Name);
            Assert.AreEqual(7, projects[0].Services.Count());
            Assert.AreEqual("ClientAPI.wsReport", projects[0].Services[0]);
            Assert.AreEqual(0, projects[0].Endpoints.Count, "The endpoint tag for each service, shouln't be confused with a real endpoint");
        }
示例#5
0
        public void CanDetectIfOutputTypeOfProjectIsConsole()
        {
            var csProjs = new string[]
            {
                @"C:\dev\edx\EDX\EdxServerConsoleRecorderRunner\EdxServerConsoleRecorderRunner.csproj",
                @"C:\dev\edx\EDX\EDXServer\EDXServer.csproj",
                @"c:\dev\edx\edx\ExecutionEngineService\ExecutionEngineService.csproj"
            };

            var architecture = new CsProjParser(csProjs).Parse(CsProjParser.ReadLinesFromFile);
            var projects     = architecture.Projects;

            Assert.AreEqual(3, projects.Count());
            Assert.AreEqual("EdxServerConsoleRecorderRunner", projects[0].Name);
            Assert.AreEqual(Project.ProjectType.Library, projects[1].Type);
            Assert.AreEqual(Project.ProjectType.Console, projects[0].Type);
            Assert.AreEqual(Project.ProjectType.WindowsExe, projects[2].Type);
        }
 public void SetUpContext()
 {
     _parser = new CsProjParser(_exampleCsProj);
 }
 private ConfigSettings GetConfigFromCsProj(string containingDirectory, string csproj)
 {
     var proj = new CsProjParser(_filesystem.GetFileText(csproj));
     var settings =  ConfigSettings.Default();
     settings.AssemblyLocations = proj.GetAssemblyLocations();
     settings.StoryBasePath = containingDirectory;
     return settings;
 }
示例#8
0
        public void CanFetchAllCsProjFilesRecursively()
        {
            var files = CsProjParser.FindAllProjects("c:/dev/edx/");

            Assert.IsTrue(files.Count() > 0);
        }