public void ManifestFilesPaths_ProvidedOk()
        {
            ManifestBasedUriProvider uriProvider = new ManifestBasedUriProvider(new TraceLogger(LogLevel.Debug));
            List <string>            uris        = uriProvider.GetUris(RepoRoot.FullName).ToList();

            Assert.AreEqual(2, uris.Count);
            Assert.IsTrue(uris.Any(x => x.Contains("ScriptOneManifest.RepoCat.xml", StringComparison.OrdinalIgnoreCase)));
            Assert.IsTrue(uris.Any(x => x.Contains("ScriptTwoManifest.RepoCat.xml", StringComparison.OrdinalIgnoreCase)));
        }
        public void RelativePathPropertyKey_ResolvedOk()
        {
            //arrange
            ManifestBasedUriProvider uriProvider = new ManifestBasedUriProvider(new TraceLogger(LogLevel.Debug));
            List <string>            uris        = uriProvider.GetUris(RepoRoot.FullName).ToList();
            IProjectInfoBuilder      builder     = ProjectInfoBuilderFactory.Get(new TransmitterArguments()
            {
                TransmissionMode = TransmissionMode.LocalManifestBased
            }, new TraceLogger(LogLevel.Debug));

            //act
            List <ProjectInfo> infos = builder.GetInfos(uris).ToList();

            //assert
            var scriptTwo  = infos.Single(x => x.ProjectName == "ScriptTwo");
            var samplePath = scriptTwo.Components.Single().Properties["SamplePath"];

            FileAssert.Exists(samplePath.ToString());
        }
        public void ProjectInfo_RepoStampsShouldBeEqual()
        {
            //arrange
            ManifestBasedUriProvider uriProvider = new ManifestBasedUriProvider(new TraceLogger(LogLevel.Debug));
            List <string>            uris        = uriProvider.GetUris(RepoRoot.FullName).ToList();
            IProjectInfoBuilder      builder     = ProjectInfoBuilderFactory.Get(new TransmitterArguments()
            {
                TransmissionMode = TransmissionMode.LocalManifestBased
            }, new TraceLogger(LogLevel.Debug));

            //act
            List <ProjectInfo> infos = builder.GetInfos(uris).ToList();

            //assert

            //the stamp of both scripts should be the same (as they are loaded at the same time)
            //otherwise, they would be visible in different snapshots of the repo
            Assert.AreEqual(infos[0].RepositoryStamp, infos[1].RepositoryStamp);
        }
Example #4
0
        private ProjectInfo LoadFromManifestWithRepoIncluded(bool allowOverride, RepositoryInfo repositoryInfoFromTransmitter)
        {
            //arrange
            ManifestBasedUriProvider uriProvider = new ManifestBasedUriProvider(new TraceLogger(LogLevel.Debug));
            List <string>            uris        = uriProvider.GetUris(RepoRoot.FullName).ToList();
            IProjectInfoBuilder      builder     = ProjectInfoBuilderFactory.Get(new TransmitterArguments()
            {
                RepositoryName   = repositoryInfoFromTransmitter?.RepositoryName,
                OrganizationName = repositoryInfoFromTransmitter?.OrganizationName,
                RepositoryMode   = repositoryInfoFromTransmitter?.RepositoryMode ?? RepositoryMode.Default,
                TransmissionMode = TransmissionMode.LocalManifestBased,
                ManifestCanOverrideRepositoryInfo = allowOverride
            }, new TraceLogger(LogLevel.Debug));

            //act
            List <ProjectInfo> infos = builder.GetInfos(uris).ToList();

            //assert
            var scriptOne = infos.Single(x => x.ProjectName == "ScriptOne");

            return(scriptOne);
        }
        public void ProjectInfo_ProvidedOk()
        {
            //arrange
            ManifestBasedUriProvider uriProvider = new ManifestBasedUriProvider(new TraceLogger(LogLevel.Debug));
            List <string>            uris        = uriProvider.GetUris(RepoRoot.FullName).ToList();
            IProjectInfoBuilder      builder     = ProjectInfoBuilderFactory.Get(new TransmitterArguments()
            {
                TransmissionMode = TransmissionMode.LocalManifestBased
            }, new TraceLogger(LogLevel.Debug));

            //act
            List <ProjectInfo> infos = builder.GetInfos(uris).ToList();

            //assert
            Assert.AreEqual(2, infos.Count);
            var scriptOne = infos.Single(x => x.ProjectName == "ScriptOne");
            var scriptTwo = infos.Single(x => x.ProjectName == "ScriptTwo");

            //most properties are the same. Also, we care simply about whether the files exist
            ValidateProjectInfo(scriptOne, ".Script", ".Script", "I_AM_FAKE.Script");

            ValidateProjectInfo(scriptTwo, ".scr", "CustomScript", "I_AM_FAKE_TOO.Script");
            Assert.IsTrue(File.Exists(scriptTwo.DocumentationUri));
        }